sys.dm_tran_persistent_version_store_stats (Transact-SQL)
適用於:SQL Server 2019 (15.x) Azure SQL 資料庫 Azure SQL 受控執行個體
傳回加速資料庫復原 (ADR) 永續性版本存放區 (PVS) 計量的資訊。
傳回的資料表
資料行名稱 | 資料類型 | 描述 |
---|---|---|
database_id | int | database_id 這個資料欄位的 。 在 Azure SQL 資料庫中,這些值在單一資料庫或彈性集區內是唯一的,但在邏輯伺服器內則不是唯一的。 |
pvs_filegroup_id | smallint | 裝載 PVS 版本存放區的檔案群組。 |
persistent_version_store_size_kb | bigint | PVS 大小以 KB 為單位。 這個值用來判斷 PVS 所使用的目前空間。 |
online_index_version_store_size_kb | bigint | 在線索引重建期間所使用的特殊版本存放區大小,以 KB 為單位。 |
current_aborted_transaction_count | bigint | 資料庫中中止交易的數目。 您可以在 中 sys.dm_tran_aborted_transactions 檢視中止交易的詳細數據。 |
oldest_active_transaction_id | bigint | 最舊使用中交易的交易標識碼。 |
oldest_aborted_transaction_id | bigint | 最舊中止交易的交易標識碼。 如果 PVS 清除程式無法移除中止的交易,這個值會反映最舊的值。 |
min_transaction_timestamp | bigint | 系統從快照集掃描中取得的最小實用時間戳。 |
online_index_min_transaction_timestamp | bigint | 系統中用來保存 PVS 清除的最低實用時間戳。 這會對應至 online_index_version_store_size_kb 。 |
secondary_low_water_mark | bigint | 針對可讀取次要複本的查詢所匯總的低水位標記。 它是交易標識碼,可用來與 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 受控執行個體上,需要 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 正在成長,請參閱 針對加速資料庫復原進行疑難解答。