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_stats
SQL 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
資料庫的許可權。