sp_autostats (Transact-SQL)
适用于: SQL Server Azure SQL 数据库 Azure SQL 托管实例
显示或更改索引、统计信息对象、表或索引视图的自动统计信息更新选项 AUTO_UPDATE_STATISTICS
。
有关该选项的详细信息 AUTO_UPDATE_STATISTICS
,请参阅 ALTER DATABASE SET 选项 和 统计信息。
语法
sp_autostats
[ @tblname = ] N'tblname'
[ , [ @flagc = ] 'flagc' ]
[ , [ @indname = ] N'indname' ]
[ ; ]
参数
[ @tblname = ] N'tblname'
要为其显示 AUTO_UPDATE_STATISTICS
选项的表或索引视图的名称。 @tblname为 nvarchar(776),没有默认值。
[ @flagc = ] 'flagc'
更新或显示 AUTO_UPDATE_STATISTICS
选项。 @flagc 是 varchar(10),可以是以下值之一:
值 | 说明 |
---|---|
ON |
开 |
OFF |
关 |
未指定 | 显示当前 AUTO_UPDATE_STATISTICS 设置 |
[ @indname = ] N'indname'
要为其显示或更新选项的 AUTO_UPDATE_STATISTICS
统计信息的名称。 @indname为 sysname,默认值为 NULL
. 若要显示索引的统计信息,您可以使用索引的名称;索引及其相应统计信息对象具有相同的名称。
返回代码值
0
(成功)或 1
(失败)。
结果集
如果 指定了 @flagc,则报告已执行的操作, sp_autostats
但不会返回结果集。
如果未 指定@flagc , sp_autostats
则返回以下结果集。
列名称 | 数据类型 | 描述 |
---|---|---|
Index Name |
sysname | 索引或统计信息的名称。 |
AUTOSTATS |
varchar(3) | 选项的 AUTO_UPDATE_STATISTICS 当前值。 |
Last Updated |
datetime | 最近更新统计信息的日期。 |
表或索引视图的结果集包括为索引创建的统计信息、使用 AUTO_CREATE_STATISTICS
CREATE STATISTICS 语句创建的选项和统计信息生成的单列统计信息。
注解
如果禁用了指定的索引,或者指定的表具有被禁用的聚集索引,将显示错误消息。
AUTO_UPDATE_STATISTICS
对于内存优化表,始终为 OFF。
权限
若要更改此选项AUTO_UPDATE_STATISTICS
,需要db_owner固定数据库角色的成员身份或ALTER
@tblname的权限。
若要显示该AUTO_UPDATE_STATISTICS
选项,需要公共角色的成员身份。
示例
A. 显示表的所有统计信息的状态
下面的内容显示 Production.Product
表的所有统计信息的状态。
USE AdventureWorks2022;
GO
EXEC sp_autostats 'Production.Product';
GO
B. 为表上的所有统计信息启用 AUTO_UPDATE_STATISTICS
以下示例为表上的所有统计信息Production.Product
启用AUTO_UPDATE_STATISTICS
该选项。
USE AdventureWorks2022;
GO
EXEC sp_autostats 'Production.Product', 'ON';
GO
°C 为特定索引禁用 AUTO_UPDATE_STATISTICS
以下示例禁用AUTO_UPDATE_STATISTICS
表上的Production.Product
索引选项AK_Product_Name
。
USE AdventureWorks2022;
GO
EXEC sp_autostats 'Production.Product', 'OFF', AK_Product_Name;
GO