変更データ キャプチャ - sys.dm_cdc_log_scan_sessionsChange Data Capture - sys.dm_cdc_log_scan_sessions

適用対象: ○SQL Server XAzure SQL Database XAzure SQL Data Warehouse XParallel Data WarehouseAPPLIES TO: yesSQL Server noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

現在のデータベース内のログ スキャン セッションごとに 1 行のデータを返します。Returns one row for each log scan session in the current database. 返された行の最後は、現在のセッションを表します。The last row returned represents the current session. このビューを使用すると、現在のログ スキャン セッションのステータス情報を取得できます。SQL ServerSQL Server のインスタンスが開始されてからのすべてのセッションの集計情報を取得することもできます。You can use this view to return status information about the current log scan session, or aggregated information about all sessions since the instance of SQL ServerSQL Server was last started.

列名Column name データ型Data type 説明Description
session_idsession_id intint セッションの ID を指定します。ID of the session.

0 = で返されるデータは、この行は以降のインスタンスのすべてのセッションの集計SQL ServerSQL Serverが最後に起動します。0 = the data returned in this row is an aggregate of all sessions since the instance of SQL ServerSQL Server was last started.
start_timestart_time datetimedatetime セッションの開始時刻です。Time the session began.

ときにsession_id集計されたデータの収集が開始された時間、0 を = です。When session_id = 0, the time aggregated data collection began.
end_timeend_time datetimedatetime セッションの時間が終了しました。Time the session ended.

NULL は、セッションがアクティブであることを表します。NULL = session is active.

ときにsession_id 0、最後のセッションが終了した時刻を = です。When session_id = 0, the time the last session ended.
durationduration bigintbigint セッションの実行時間 (秒単位) です。The duration (in seconds) of the session.

変更データ キャプチャ トランザクションがセッションに存在しない場合は 0 になります。0 = the session does not contain change data capture transactions.

ときにsession_id = 0、変更データ キャプチャ トランザクションですべてのセッションの期間を秒単位での合計。When session_id = 0, the sum of the duration (in seconds) of all sessions with change data capture transactions.
scan_phasescan_phase nvarchar(200)nvarchar(200) セッションの現在のフェーズです。The current phase of the session. 使用可能な値とその説明を次に示します。The following are the possible values and their descriptions:

1:構成の読み取り1: Reading configuration
2:最初のスキャン、ハッシュ テーブルの作成2: First scan, building hash table
3:1 番目のスキャン3: Second scan
4:1 番目のスキャン4: Second scan
5:1 番目のスキャン5: Second scan
6:スキーマのバージョン管理6: Schema versioning
7:最後のスキャン7: Last scan
8:完成です8: Done

ときにsession_id = 0 の場合、この値は"Aggregate"は常にします。When session_id = 0, this value is always "Aggregate".
error_counterror_count intint 発生したエラーの数です。Number of errors encountered.

ときにsession_id = 0、すべてのセッションのエラーの合計数。When session_id = 0, the total number of errors in all sessions.
start_lsnstart_lsn nvarchar(23)nvarchar(23) セッションの開始 LSN です。Starting LSN for the session.

ときにsession_id = 0 の場合、最後のセッションの開始の LSN。When session_id = 0, the starting LSN for the last session.
current_lsncurrent_lsn nvarchar(23)nvarchar(23) 現在スキャン中の LSN です。Current LSN being scanned.

ときにsession_id = 0 の場合、現在の LSN は 0。When session_id = 0, the current LSN is 0.
end_lsnend_lsn nvarchar(23)nvarchar(23) セッションの最終 LSN です。Ending LSN for the session.

NULL は、セッションがアクティブであることを表します。NULL = session is active.

ときにsession_id = 0 の場合は、最後のセッションの LSN を終了します。When session_id = 0, the ending LSN for the last session.
tran_counttran_count bigintbigint 処理された変更データ キャプチャ トランザクションの数です。Number of change data capture transactions processed. このカウンターはフェーズ 2 で設定されます。This counter is populated in phase 2.

ときにsession_id = 0、すべてのセッションで処理されたトランザクションの数。When session_id = 0, the number of processed transactions in all sessions.
last_commit_lsnlast_commit_lsn nvarchar(23)nvarchar(23) 処理された最終コミット ログ レコードの LSN です。LSN of the last commit log record processed.

ときにsession_id = 0、任意のセッションの最終コミット ログ レコードの LSN。When session_id = 0, the last commit log record LSN for any session.
last_commit_timelast_commit_time datetimedatetime 最終コミット ログ レコードが処理された時刻です。Time the last commit log record was processed.

ときにsession_id 0、任意のセッションの最終コミット ログ レコードの時間を = です。When session_id = 0, the time the last commit log record for any session.
log_record_countlog_record_count bigintbigint スキャンされたログ レコードの数です。Number of log records scanned.

ときにsession_id = 0、すべてのセッションのスキャン レコードの数。When session_id = 0, number of records scanned for all sessions.
schema_change_countschema_change_count intint 検出されたデータ定義言語 (DDL) 操作の数です。Number of data definition language (DDL) operations detected. このカウンターはフェーズ 6 で設定されます。This counter is populated in phase 6.

ときにsession_id = 0、すべてのセッションの処理済み DDL 操作の数。When session_id = 0, the number of DDL operations processed in all sessions.
command_countcommand_count bigintbigint 処理されたコマンドの数です。Number of commands processed.

ときにsession_id = 0、すべてのセッションで処理されたコマンドの数。When session_id = 0, the number of commands processed in all sessions.
first_begin_cdc_lsnfirst_begin_cdc_lsn nvarchar(23)nvarchar(23) 変更データ キャプチャ トランザクションを含んでいた最初の LSN です。First LSN that contained change data capture transactions.

ときにsession_id = 0、変更データ キャプチャ トランザクションに含まれる最初の LSN。When session_id = 0, the first LSN that contained change data capture transactions.
last_commit_cdc_lsnlast_commit_cdc_lsn nvarchar(23)nvarchar(23) 変更データ キャプチャ トランザクションを含んでいた最終コミット ログ レコードの LSN です。LSN of the last commit log record that contained change data capture transactions.

ときにsession_id任意のセッションに含まれる変更データ キャプチャ トランザクションの 0、最後のコミット ログ レコードの LSN を =When session_id = 0, the last commit log record LSN for any session that contained change data capture transactions
last_commit_cdc_timelast_commit_cdc_time datetimedatetime 変更データ キャプチャ トランザクションを含んでいた最終コミット ログ レコードが処理された時刻です。Time the last commit log record was processed that contained change data capture transactions.

ときにsession_id 0、最後のコミット ログ レコードのセッションに含まれる変更データ キャプチャ トランザクションが時間を = です。When session_id = 0, the time the last commit log record for any session that contained change data capture transactions.
latencylatency intint 差を秒単位で間end_timelast_commit_cdc_timeセッションでします。The difference, in seconds, between end_time and last_commit_cdc_time in the session. このカウンターはフェーズ 7 の最後に設定されます。This counter is populated at the end of phase 7.

ときにsession_id = 0、セッションによって記録された最後の待機時間が 0 以外の値。When session_id = 0, the last nonzero latency value recorded by a session.
empty_scan_countempty_scan_count intint 変更データ キャプチャ トランザクションが含まれていなかった、連続するセッションの数です。Number of consecutive sessions that contained no change data capture transactions.
failed_sessions_countfailed_sessions_count intint 失敗したセッションの数です。Number of sessions that failed.

コメントRemarks

この動的管理ビューでは値がリセットされるたびに、インスタンスのSQL ServerSQL Serverが開始します。The values in this dynamic management view are reset whenever the instance of SQL ServerSQL Server is started.

アクセス許可Permissions

クエリに対する VIEW DATABASE STATE 権限が必要です、 sys.dm_cdc_log_scan_sessions動的管理ビュー。Requires VIEW DATABASE STATE permission to query the sys.dm_cdc_log_scan_sessions dynamic management view. 動的管理ビューに対する権限の詳細については、次を参照してください。動的管理ビューおよび関数(TRANSACT-SQL)します。For more information about permissions on dynamic management views, see Dynamic Management Views and Functions (Transact-SQL).

使用例Examples

次の例では、最新のセッションの情報を返します。The following example returns information for the most current session.

USE AdventureWorks2012;  
GO  
SELECT session_id, start_time, end_time, duration, scan_phase  
    error_count, start_lsn, current_lsn, end_lsn, tran_count  
    last_commit_lsn, last_commit_time, log_record_count, schema_change_count  
    command_count, first_begin_cdc_lsn, last_commit_cdc_lsn,   
    last_commit_cdc_time, latency, empty_scan_count, failed_sessions_count  
FROM sys.dm_cdc_log_scan_sessions  
WHERE session_id = (SELECT MAX(b.session_id) FROM sys.dm_cdc_log_scan_sessions AS b);  
GO  

参照See Also

sys.dm_cdc_errors (TRANSACT-SQL)sys.dm_cdc_errors (Transact-SQL)