sys.dm_tran_version_store_space_usage (Transact-SQL)

適用対象: SQL Server 2016 (13.x) SP 2 以降 Azure SQL データベース サポートされていません。 Azure Synapse Analytics サポートされていません。 Analytics Platform System (PDW)

各データベースのバージョン ストア レコードで使用される tempdb の合計領域を表示するテーブルを返します。 sys.dm_tran_version_store_space_usage は、個々のバージョン ストア レコード間を移動せず、データベースごとに tempdb で消費された集計バージョン ストア領域を返すので、効率的で、実行にコストがかかりません。

バージョン管理された各レコードは、一部の追跡または状態情報と共にバイナリ データとして格納されます。 データベース テーブル内のレコードと同様、バージョン ストア レコードは 8,192 バイトのページに格納されます。 レコードが 8,192 バイトを超える場合は、2 つのレコードに分割されます。

バージョン管理されたレコードはバイナリとして格納されるため、異なるデータベースと異なる照合順序に問題はありません。 sys.dm_tran_version_store_space_usageを使用して、SQL Server インスタンス内のデータベースのバージョン ストア領域の使用量に基づいて tempdb サイズを監視および計画します。

列名 データ型 説明
database_id int データベースのデータベース ID。

Azure SQL Database では、値は 1 つのデータベースまたは Elastic Pool 内で一意ですが、論理サーバー内では一意ではありません。
reserved_page_count bigint データベースのバージョン ストア レコード用に tempdb で予約されているページの合計数。
reserved_space_kb bigint データベースのバージョン ストア レコードに使用される tempdb の合計領域 (キロバイト単位)。

アクセス許可

SQL Server では、VIEW SERVER STATE 権限が必要です。

SQL Server 2022 以降でのアクセス許可

サーバーに対する VIEW SERVER PERFORMANCE STATE アクセス許可が必要です。

次のクエリを使用して、SQL Server インスタンス内の各データベースのバージョン ストア別に tempdb で使用される領域を決定できます。

SELECT 
  DB_NAME(database_id) as 'Database Name',
  reserved_page_count,
  reserved_space_kb 
FROM sys.dm_tran_version_store_space_usage;  

結果セットは次のとおりです。

Database Name            reserved_page_count reserved_space_kb  
------------------------ -------------------- -----------  
msdb                      0                    0             
AdventureWorks2022        10                   80             
AdventureWorks2022DW      0                    0             
WideWorldImporters        20                   160             

関連項目

動的管理ビューと動的管理関数 (Transact-SQL)
トランザクション関連の動的管理ビューおよび関数 (Transact-SQL)