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 重启以来,数据库引擎在此行组锁上等待的累积毫秒数。

注意

文档在提到索引时一般使用 B 树这个术语。 在行存储索引中,数据库引擎实现了 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 时,将省略数据库。

有关详细信息,请参阅动态管理视图和函数(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)