显示或更改索引或统计的自动 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_flag,sp_autostats 返回以下结果集。
列名 | 数据类型 | 描述 |
---|---|---|
Index Name | varchar(60) | 索引的名称。 |
AUTOSTATS | varchar(3) | 当前的自动 UPDATE STATISTICS 设置:OFF 或 ON。 |
Last Updated | datetime | 上次更新统计的日期。 |
只有 sysadmin 固定服务器角色、db_owner 和 db_ddladmin 固定数据库角色的成员及表所有者,才能执行 sp_autostats。
下面的示例显示 authors 表上所有索引的当前统计状态。
USE pubs
EXEC sp_autostats authors
下面的示例启用 authors 表的所有索引的自动统计设置。
USE pubs
EXEC sp_autostats authors, 'ON'
下面的示例禁用 authors 表的 au_id 索引的自动统计设置。
USE pubs
EXEC sp_autostats authors, 'OFF', au_id