sys.dm_db_xtp_checkpoint_stats (Transact-SQL)

適用対象: SQL Server Azure SQL データベース Azure SQL Managed Instance

現在のデータベースのインメモリ OLTP チェックポイント操作に関する統計を返します。 データベースにインメモリ OLTP オブジェクトがない場合、 sys.dm_db_xtp_checkpoint_stats は空の結果セットを返します。

詳細については、「 インメモリ OLTP (インメモリ最適化)」を参照してください。

USE [In_Memory_db_name]
SELECT * FROM sys.dm_db_xtp_checkpoint_stats;

SQL Server 2014 (12.x) は、より新しいバージョンとは大きく異なり、個別に説明します。

次の表では、SQL Server 2016 (13.x) 以降のバージョンの sys.dm_db_xtp_checkpoint_statsの列について説明します。

列名 種類 説明
last_lsn_processed bigint コントローラーによって表示される最後の LSN。
end_of_log_lsn numeric(38) ログの末尾の LSN。
bytes_to_end_of_log bigint コントローラーによって処理されていないログ バイト 。 last_lsn_processedend_of_log_lsnの間のバイト数に対応します。
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 終了チェックポイントの ID。

シリアライザーは並列で動作するため、完了すると、チェックポイントは閉じるスレッドで終了する候補になります。 ただし、閉じるスレッドは一度に 1 つだけ閉じることができ、順序を指定する必要があるため、終了チェックポイントは閉じるスレッドが処理しているチェックポイントです。
recovery_checkpoint_id bigint 回復に使用するチェックポイントの ID。
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 アクセス許可が必要です。