sys.dm_db_incremental_stats_properties (Transact-SQL)
适用于:SQL Server
返回当前 SQL Server 数据库中指定数据库对象(表)的增量统计信息的属性。 使用 sys.dm_db_incremental_stats_properties
(包含分区号)类似于 sys.dm_db_stats_properties
(用于非增量统计信息)。
此函数是在 SQL Server 2014 (12.x) Service Pack 2 和 SQL Server 2016 (13.x) Service Pack 1 中引入的。
语法
sys.dm_db_incremental_stats_properties (object_id, stats_id)
参数
object_id
当前数据库中要请求其某个增量统计信息属性的对象的 ID。 object_id 是 int。
stats_id
指定 object_id 的统计信息 ID。 可以从 sys.stats 动态管理视图获取该统计信息 ID。 stats_id 是 int。
返回的表
列名称 | 数据类型 | 说明 |
---|---|---|
object_id | int | 要返回统计信息对象属性的对象(表)的 ID。 |
stats_id | int | 统计信息对象的 ID。 在表中是唯一的。 有关详细信息,请参阅 sys.stats (Transact-SQL)。 |
partition_number | int | 包含表的一部分的分区的编号。 |
last_updated | datetime2 | 上次更新统计信息对象的日期和时间。 有关详细信息,请参阅此页中的备注部分。 |
行 | bigint | 上次更新统计信息时表中的总行数。 如果筛选统计信息或者统计信息与筛选索引对应,该行数可能小于表中的行数。 |
rows_sampled | bigint | 用于统计信息计算的抽样总行数。 |
steps | int | 直方图中的梯级数。 有关详细信息,请参阅 DBCC SHOW_STATISTICS (Transact-SQL)。 |
unfiltered_rows | bigint | 应用筛选表达式(用于筛选的统计信息)之前表中的总行数。 如果未筛选统计信息,则 unfiltered_rows 等于行列中返回的值。 |
modification_counter | bigint | 自上次更新统计信息以来前导统计信息列(构建直方图的列)的总修改次数。 此列不包含有关内存优化表的信息。 |
注解
sys.dm_db_incremental_stats_properties
在满足以下任一条件时将返回空的行集:
object_id
或stats_id
为 NULL。- 指定的对象未找到或不对应于具有增量统计信息的某个表。
- 指定的统计信息 ID 不对应于指定对象 ID 的现有统计信息。
- 当前用户没有权限查看统计信息对象。
此行为在如 sys.dm_db_incremental_stats_properties
和 sys.objects
等视图中交叉应用于行时,允许安全使用 sys.stats
。 此方法可返回对应于每个分区的统计信息的属性。 若要查看跨所有分区组合的合并统计信息的属性,请改为使用 sys.dm_db_stats_properties。
统计信息更新日期连同直方图和密度矢量一起存储在统计信息 blob 对象中,而不是存储在元数据中。 如果未读取任何数据以生成统计信息数据,则不会创建统计信息 blob、日期不可用, 并且last_updated 列为 NULL。 针对谓词不返回任何行或新的空表,筛选的统计信息便是这种情况。
权限
要求用户对统计信息列拥有 select 权限,或用户拥有表,或用户是 sysadmin
固定服务器角色、db_owner
固定数据库角色或 db_ddladmin
固定数据库角色的成员。
示例
A. 简单示例
下面的示例将返回 PartitionTable
创建已分区表和已分区索引 主题中所述的表的统计信息。
SELECT * FROM sys.dm_db_incremental_stats_properties (object_id('PartitionTable'), 1);
有关其他使用建议,请参阅 sys.dm_db_stats_properties。
另请参阅
DBCC SHOW_STATISTICS (Transact-SQL)
sys.stats (Transact-SQL)
与对象相关的动态管理视图和函数 (Transact-SQL)
动态管理视图和函数 (Transact-SQL)
sys.dm_db_stats_properties
sys.dm_db_stats_histogram (Transact-SQL)