sys.dm_tran_persistent_version_store_stats (Transact-SQL)
適用対象: SQL Server 2019 (15.x) Azure SQL Database Azure SQL Managed Instance
高速データベース復旧 (ADR) 永続バージョン ストア (PVS) メトリックの情報を返します。
返されるテーブル
列名 | データ型 | 説明 |
---|---|---|
database_id | int | この行の database_id Azure SQL Database では、値は 1 つのデータベースまたは Elastic Pool 内で一意ですが、論理サーバー内では一意ではありません。 |
pvs_filegroup_id | smallint | PVS バージョン ストアをホストするファイル グループ。 |
persistent_version_store_size_kb | bigint | PVS サイズ (キロバイト単位)。 この値は、PVS で使用されている現在の領域を決定するために使用されます。 |
online_index_version_store_size_kb | bigint | オンライン インデックスの再構築時に使用される特別なバージョン ストア サイズ (KB 単位)。 |
current_aborted_transaction_count | bigint | データベース内の中止トランザクションの数。 中止トランザクションの詳細を sys.dm_tran_aborted_transactions に表示できます。 |
oldest_active_transaction_id | bigint | 最も古いアクティブなトランザクションのトランザクション ID。 |
oldest_aborted_transaction_id | bigint | 最も古い中止トランザクションのトランザクション ID。 PVS クリーナーが中止されたトランザクションを削除できない場合、この値には最も古い値が反映されます。 |
min_transaction_timestamp | bigint | スナップショット スキャンからのシステムの最小有用タイムスタンプ。 |
online_index_min_transaction_timestamp | bigint | PVS クリーンアップを保持するシステムの最小有用タイムスタンプ。 これは、online_index_version_store_size_kb に対応します。 |
secondary_low_water_mark | bigint | 読み取り可能なセカンダリに対するクエリに対して集計された低ウォーター マーク。 これはトランザクション ID であり、 oldest_active_transaction_id と oldest_aborted_transaction_id との比較に使用できます。 |
offrow_version_cleaner_start_time | datetime2(7) | 行外 PVS クリーンアップ プロセスの開始時刻。 |
offrow_version_cleaner_end_time | datetime2(7) | 行外 PVS クリーンアップ プロセスの最後の終了時刻。 |
aborted_version_cleaner_start_time | datetime2(7) | フル スイープの開始タイムスタンプ。 |
aborted_version_cleaner_end_time | datetime2(7) | 最後のフル スイープの終了タイムスタンプ。 開始時刻に値があるのに終了時刻に値がない場合は、PVS クリーンアップがこのデータベースで進行中であることを意味します。 |
pvs_off_row_page_skipped_low_water_mark | bigint | セカンダリ読み取りクエリからの保留が原因で再利用のためにスキップされたページ数。 |
pvs_off_row_page_skipped_transaction_not_cleaned | bigint | 中止されたトランザクションが原因で再利用のためにスキップされたページ数。 バージョン クリーナーは中止されたトランザクション バージョンのクリーンアップに最小しきい値を使用するため、この値は中止されたトランザクションからの PVS 保留を反映しません。 これは、大規模な PVS の問題では無視できます。 |
pvs_off_row_page_skipped_oldest_active_xdesid | bigint | 最も古いアクティブなトランザクションが原因で再利用のためにスキップされたページ数。 |
pvs_off_row_page_skipped_min_useful_xts | bigint | 長いスナップショット スキャンが原因で再利用のためにスキップされたページ数。 |
pvs_off_row_page_skipped_oldest_snapshot | bigint | オンライン インデックス再構築アクティビティが原因で再利用のためにスキップされたページ数。 これは PVS の使用には一般的ではありません。 |
pvs_off_row_page_skipped_oldest_aborted_xdesid | bigint | 適用対象: SQL Server 2022 (16.x) 以降。 最も古い中止されたトランザクションが原因で再利用のためにスキップされたページ数。 バージョン クリーナーが遅い、または無効になっている場合は、中止されたトランザクションに保持する必要があるページの数が反映されます。 |
アクセス許可
SQL Server と SQL Managed Instance では、VIEW SERVER STATE
アクセス許可が必要です。
SQL Database Basic、S0、および S1 サービス目標、および弾性プール内のデータベースの場合サーバー管理者アカウント、Microsoft Entra 管理者アカウント、または##MS_ServerStateReader##
サーバー ロールのメンバーシップが必要です。 他のすべての SQL Database サービス目標では、データベースに対する VIEW DATABASE STATE
アクセス許可または ##MS_ServerStateReader##
サーバー ロールのメンバーシップのいずれかが必要です。
SQL Server 2022 以降でのアクセス許可
サーバーに対する VIEW SERVER PERFORMANCE STATE アクセス許可が必要です。
解説
高速データベース復旧のベスト プラクティスを確認します。 ADR PVS が増加している場合は、「 高速データベース復旧のトラブルシューティング」を参照してください。