Transact-SQL 参考

sp_autostats

显示或更改索引或统计的自动 UPDATE STATISTICS 设置,该索引或统计是当前数据库中特定的索引或统计,或者是当前数据库中给定表或已索引视图的所有索引或统计。

说明  在此存储过程的上下文中,术语"索引"指的是表或视图上的统计。

语法

sp_autostats [ @tblname = ] 'table_name'
    [ , [ @flagc = ] 'stats_flag' ]
    [ , [ @indname = ] 'index_name' ]

参数

[@tblname =] 'table_name'

要显示其自动 UPDATE STATISTICS 设置的表或视图的名称。table_name 的数据类型为 nvarchar(776),没有默认值。如果提供了 index_name,Microsoft SQL Server 会启用该索引的自动 UPDATE STATISTICS 设置。

[@flagc =] 'stats_flag'

指定表、视图或索引的自动 UPDATE STATISTICS 设置是启用 (ON) 还是禁用 (OFF)。stats_flag 的数据类型为 varchar(10),默认值为 NULL。

[@indname =] 'index_name'

启用或禁用其自动 UPDATE STATISTICS 设置的索引的名称。index_name 的数据类型为 sysname,默认值为 NULL。

返回代码值

0(成功)或 1(失败)

结果集

如果指定了 stats_flag,该过程报告已实施但没有返回结果集的操作。

如果未指定 stats_flagsp_autostats 返回以下结果集。

列名 数据类型 描述
Index Name varchar(60) 索引的名称。
AUTOSTATS varchar(3) 当前的自动 UPDATE STATISTICS 设置:OFF 或 ON。
Last Updated datetime 上次更新统计的日期。

权限

只有 sysadmin 固定服务器角色、db_ownerdb_ddladmin 固定数据库角色的成员及表所有者,才能执行 sp_autostats

示例
A. 显示表的所有索引的当前状态

下面的示例显示 authors 表上所有索引的当前统计状态。

USE pubs
EXEC sp_autostats authors
B. 启用表的所有索引的自动统计

下面的示例启用 authors 表的所有索引的自动统计设置。

USE pubs
EXEC sp_autostats authors, 'ON'
C. 禁用特定索引的自动统计

下面的示例禁用 authors 表的 au_id 索引的自动统计设置。

USE pubs
EXEC sp_autostats authors, 'OFF', au_id

请参见

CREATE INDEX

CREATE STATISTICS

DBCC SHOW_STATISTICS

DROP STATISTICS

sp_createstats

sp_dboption

系统存储过程

UPDATE STATISTICS