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 PERFORMANCE STATE
權限。
在 SQL Database [Basic]、[S0] 和 [S1] 服務目標,以及彈性集區中的資料庫,需要伺服器管理員帳戶、伺服器管理員帳戶、Microsoft Entra 管理員帳戶或 ##MS_ServerPerformanceStateReader##
伺服器角色的成員資格。 在所有其他 SQL Database 服務目標上,需要資料庫的 VIEW DATABASE PERFORMANCE STATE
權限或 ##MS_ServerPerformanceStateReader##
伺服器角色的成員資格。