sys.stats (Transact-SQL)

为 SQL Server 的数据库中的表、索引和索引视图对应的每个统计信息对象都包含一行。 每个索引都具有一个拥有相同名称和 ID (index_id = stats_id) 的对应统计信息行,但是并非每个统计信息行都具有对应的索引。

目录视图 sys.stats_columns 为数据库中的每一列提供统计信息。 有关统计信息的详细信息,请参阅统计信息

适用范围:SQL Server(SQL Server 2008 至当前版本),Windows Azure SQL Database(初始版本至当前版本)。

列名

数据类型

说明

object_id

int

这些统计信息所属对象的 ID。

name

sysname

统计信息的名称。 在对象中是唯一的。

stats_id

int

统计信息 ID。 在对象中是唯一的。

auto_created

bit

指示统计信息是否由 SQL Server 自动创建。

0 = 统计信息不是由 SQL Server 自动创建。

1 = 统计信息由 SQL Server 自动创建。

user_created

bit

指示统计信息是否由用户创建。

0 = 统计信息不是用户创建的。

1 = 统计信息是用户创建的。

no_recompute

bit

指示统计信息是否通过 NORECOMPUTE 选项创建。

0 = 统计信息不是通过 NORECOMPUTE 选项创建。

1 = 统计信息通过 NORECOMPUTE 选项创建。

has_filter

bit

0 = 统计信息不具有筛选器并且针对所有行进行计算。

1 = 统计信息具有筛选器并且仅针对满足筛选器定义的行进行计算。

filter_definition

nvarchar(max)

包含在筛选统计信息中的行子集的表达式。

NULL = 非筛选的统计信息。

is_temporary

bit

指示统计信息是否是临时的。 临时统计信息支持 AlwaysOn 可用性组 辅助数据库(支持只读访问)。

0 = 统计信息不是临时的。

1 = 统计信息是临时的。

适用范围:SQL Server 2012 到 SQL Server 2014。

is_incremental

bit

指示统计信息是否作为增量统计信息创建。

0 = 统计信息不是增量统计信息。

1 = 统计信息是增量统计信息。

适用范围:SQL Server 2014 到 SQL Server 2014。

权限

目录视图中仅显示用户拥有的安全对象的元数据,或用户对其拥有某些权限的安全对象的元数据。有关详细信息,请参阅元数据可见性配置

示例

下面的示例返回 HumanResources.Employee 表的所有统计信息和统计信息列。

USE AdventureWorks2012;
GO
SELECT s.name AS statistics_name
      ,c.name AS column_name
      ,sc.stats_column_id
FROM sys.stats AS s
INNER JOIN sys.stats_columns AS sc 
    ON s.object_id = sc.object_id AND s.stats_id = sc.stats_id
INNER JOIN sys.columns AS c 
    ON sc.object_id = c.object_id AND c.column_id = sc.column_id
WHERE s.object_id = OBJECT_ID('HumanResources.Employee');

请参阅

参考

对象目录视图 (Transact-SQL)

目录视图 (Transact-SQL)

概念

查询 SQL Server 系统目录常见问题