sys.dm_db_column_store_row_group_operational_stats (Transact-SQL)

適用対象:SQL Server 2016 (13.x) 以降のデータベース Azure SQL Managed Instance Azure SQL

列ストア インデックス内の圧縮された行グループの現在の行レベルの I/O、ロック、およびアクセス 方法のアクティビティを返します。 sys.dm_db_column_store_row_group_operational_statsを使用して、ユーザー クエリが列ストア インデックスの圧縮された行グループまたはパーティションの読み取りまたは書き込みを待機する必要がある時間の長さを追跡し、重要な I/O アクティビティまたはホット スポットが発生している行グループを特定します。

メモリ内列ストア インデックスは、この DMV には表示されません。

列名 データ型 説明
object_id int 列ストア インデックスを持つテーブルの ID。
index_id int 列ストア インデックスの 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 の再起動後にデータベース エンジンがこの行グループ ロックを待機した累積時間 (ミリ秒)。

Note

SQL Server のドキュメントでは、一般にインデックスに関して B ツリーという用語が使用されます。 行ストア インデックスで、SQL Server によって B+ ツリーが実装されます。 これは、列ストア インデックスやメモリ内データ ストアには適用されません。 詳細については、「SQL Server のインデックスのアーキテクチャとデザイン ガイド」を参照してください。

アクセス許可

次の権限が必要です。

  • object_idで指定されたテーブルに対する CONTROL 権限。

  • オブジェクトワイルドカード @object_id = NULL を使用して、データベース内のすべてのオブジェクトに関する情報を返す VIEW DATABASE STATE 権限

VIEW DATABASE STATE 権限を許可すると、特定のオブジェクトに対して CONTROL 権限が拒否されていたとしても、データベース内のすべてのオブジェクトを取得することができます。

VIEW DATABASE STATE 権限を拒否すると、特定のオブジェクトに対する CONTROL 権限が許可されていたとしても、そのデータベース内のどのオブジェクトも取得できません。 また、データベースワイルドカード @database_id=NULL を指定すると、データベースは省略されます。

詳細については、「 動的管理ビューと関数 (Transact-SQL)」を参照してください。

参照

動的管理ビューと関数 (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)