sys.dm_db_column_store_row_group_operational_stats (Transact-SQL)

适用于: SQL Server 2016 (13.x) 及更高版本 Azure SQL 数据库Azure SQL 托管实例

返回列存储索引中压缩行组的当前行级 I/O、锁定和访问方法活动。 使用 sys.dm_db_column_store_row_group_operational_stats 跟踪用户查询在读取或写入列存储索引的压缩行组或分区时必须等待的时间长度,并确定遇到重大 I/O 活动或热点的行组。

内存中列存储索引不显示在此 DMV 中。

列名称 数据类型 说明
object_id int 具有列存储索引的表的 ID。
index_id int columnstore 索引的 ID。
partition_number int 索引或堆中从 1 开始的分区号。
row_group_id int 列存储索引中行组的 ID。 这在分区中是唯一的。
scan_count int 自上次 SQL 重启以来,通过行组的扫描次数。
delete_buffer_scan_count int 删除缓冲区用于确定此行组中已删除行的次数。 这包括访问内存中哈希表和基础 B 树。
index_scan_count int 扫描列存储索引分区的次数。 对于分区中的所有行组,这都是相同的。
rowgroup_lock_count bigint 自上次 SQL 重启以来,此行组的锁请求的累积计数。
rowgroup_lock_wait_count bigint 自上次 SQL 重启以来,数据库引擎在此行组锁上等待的累积次数。
rowgroup_lock_wait_in_ms bigint 自上次 SQL 重启以来,数据库引擎在此行组锁上等待的累计毫秒数。

注意

SQL Server 文档在提到索引时一般使用 B 树这个术语。 在行存储索引中,SQL Server 实现了 B+ 树。 这不适用于列存储索引或内存中数据存储。 有关详细信息,请参阅SQL Server和Azure SQL索引体系结构和设计指南

权限

需要下列权限:

  • object_id指定的表的 CONTROL 权限。

  • 使用对象通配符 @object_id = NULL 返回有关数据库中所有对象的信息的 VIEW DATABASE STATE 权限

授予 VIEW DATABASE STATE 权限允许返回数据库中的所有对象,而不考虑对特定对象拒绝的任何 CONTROL 权限。

拒绝 VIEW DATABASE STATE 将禁止返回数据库中的所有对象,而不管对特定对象授予的任何 CONTROL 权限。 此外,如果指定了数据库通配符 @database_id=NULL,则省略该数据库。

有关详细信息,请参阅 Dynamic Management Views and Functions (Transact-SQL)

SQL Server 2022 及更高版本的权限

需要对数据库具有 VIEW DATABASE PERFORMANCE STATE 权限。

另请参阅

动态管理视图和函数 (Transact-SQL)
与索引相关的动态管理视图和函数 (Transact-SQL)
监视和优化性能
sys.dm_db_index_physical_stats (Transact-SQL)
sys.dm_db_index_usage_stats (Transact-SQL)
sys.dm_os_latch_stats (Transact-SQL)
sys.dm_db_partition_stats (Transact-SQL)
sys.allocation_units (Transact-SQL)
sys.indexes (Transact-SQL)