分享方式:


sys.dm_db_xtp_checkpoint_stats (Transact-SQL)

適用於: SQL Server Azure SQL 資料庫 Azure SQL 受控執行個體

傳回目前資料庫中記憶體內部 OLTP 檢查點作業的相關統計數據。 如果資料庫沒有記憶體內部 OLTP 物件, sys.dm_db_xtp_checkpoint_stats 則會傳回空的結果集。

如需詳細資訊,請參閱 In-Memory OLTP (記憶體中最佳化)

USE [In_Memory_db_name]
SELECT * FROM sys.dm_db_xtp_checkpoint_stats;

SQL Server 2014 (12.x) 與較新版本大不相同,並分別討論。

下表描述 中 sys.dm_db_xtp_checkpoint_statsSQL Server 2016 (13.x) 和更新版本的數據行。

資料行名稱 類型 描述
last_lsn_processed bigint 控制器看到的最後一個 LSN。
end_of_log_lsn numeric(38) 記錄結尾的 LSN。
bytes_to_end_of_log bigint 控制器未處理的記錄位元組,對應至和end_of_log_lsn之間的last_lsn_processed位元組。
log_consumption_rate bigint 控制器的事務歷史記錄耗用量率(以 KB/秒為單位)。
active_scan_time_in_ms bigint 控制器在主動掃描事務歷史記錄時所花費的時間。
total_wait_time_in_ms bigint 未掃描記錄檔時,控制器的累計等候時間。
waits_for_io bigint 控制器線程所產生記錄 IO 的等候次數。
io_wait_time_in_ms bigint 控制器線程在記錄 IO 上等候的累計時間。
waits_for_new_log_count bigint 控制器線程產生新記錄檔所產生的等候次數。
new_log_wait_time_in_ms bigint 控制器線程等候新記錄檔的累計時間。
idle_attempts_count bigint 控制器轉換成閑置狀態的次數。
tx_segments_dispatched bigint 控制器所看見的區段數目,並分派至串行化程式。 區段是記錄的連續部分,可形成串行化單位。 它目前的大小為 1 MB,但未來可能會變更。
segment_bytes_dispatched bigint 自資料庫重新啟動后,控制器分派給串行化程式的位元組總數。
bytes_serialized bigint 資料庫重新啟動後串行化的位元組總數。
serializer_user_time_in_ms bigint 串行化程式在使用者模式中花費的時間。
serializer_kernel_time_in_ms bigint 串行化程式在核心模式中花費的時間。
xtp_log_bytes_consumed bigint 自資料庫重新啟動後所耗用的記錄位元組總數。
checkpoints_closed bigint 資料庫重新啟動后關閉的檢查點計數。
last_closed_checkpoint_ts bigint 上次關閉檢查點的時間戳。
hardened_recovery_lsn numeric(38) 從此 LSN 開始復原。
hardened_root_file_guid uniqueidentifier 因上次完成檢查點而強化之根檔案的 GUID。
hardened_root_file_watermark bigint 僅限內部。 指定最多讀取根檔案的有效程度(這隻是內部相關的類型 - 稱為 BSN)。
hardened_truncation_lsn numeric(38) 截斷點的 LSN。
log_bytes_since_last_close bigint 最後一個接近目前記錄結尾的位元組。
time_since_last_close_in_ms bigint 自上次關閉檢查點以來的時間。
current_checkpoint_id bigint 目前會將新的區段指派給此檢查點。 檢查點系統是管線。 目前的檢查點是記錄檔中要指派的區段。 一旦達到限制,控制器就會釋放檢查點,以及建立為目前的新檢查點。
current_checkpoint_segment_count bigint 目前檢查點中的區段計數。
recovery_lsn_candidate bigint 僅限內部。 關閉時 current_checkpoint_id 要挑選為復原的候選專案。
outstanding_checkpoint_count bigint 管線中等待關閉的檢查點數目。
closing_checkpoint_id bigint 關閉檢查點的識別碼。

串行化程式會以平行方式運作,因此一旦完成,檢查點會是關閉線程的候選專案。 但是關閉線程一次只能關閉一個,而且必須依序關閉,因此關閉檢查點就是關閉線程正在處理的檢查點。
recovery_checkpoint_id bigint 要用於復原的檢查點標識碼。
recovery_checkpoint_ts bigint 復原檢查點的時間戳。
bootstrap_recovery_lsn numeric(38) 啟動程序復原 LSN。
bootstrap_root_file_guid uniqueidentifier 啟動程式根檔案的 GUID。
internal_error_code bigint 任何控制器、串行化程式、關閉和合併線程所看到的錯誤。
bytes_of_large_data_serialized bigint 指定已串行化的數據量。
db_in_checkpoint_only_mode bit True 是表示 如果資料庫處於記憶體內部 OLTP 檢查點專用模式。

適用於:SQL Server 2022 (16.x) 和更新版本。

權限

SQL Server 2019 (15.x) 和舊版需要 VIEW DATABASE STATE 資料庫的許可權。

SQL Server 2022 (16.x) 和更新版本需要 VIEW DATABASE PERFORMANCE STATE 資料庫的許可權。