Freigeben über


sys.dm_cdc_log_scan_sessions (Transact-SQL)

Gibt eine Zeile für jede Protokollscansitzung in der aktuellen Datenbank zurück. Die letzte zurückgegebene Zeile stellt die aktuelle Sitzung dar. Mithilfe dieser Sicht können Sie Statusinformationen zur aktuellen Protokollscansitzung oder aggregierte Informationen zu allen Sitzungen zurückzugeben, seit die Instanz von SQL Server das letzte Mal gestartet wurde.

Spaltenname

Datentyp

Beschreibung

session_id

int

ID der Sitzung.

0 = Die in dieser Zeile zurückgegebenen Daten sind ein Aggregat aller Sitzungen, seit die Instanz von SQL Server das letzte Mal gestartet wurde. 

start_time

datetime

Zeitpunkt, zu dem die Sitzung begonnen wurde.

Wenn session_id = 0, der Zeitpunkt, zu dem mit der aggregierten Datensammlung begonnen wurde.

end_time

datetime

Zeitpunkt, zu dem die Sitzung beendet wurde.

NULL = Sitzung ist aktiv.

Wenn session_id = 0, der Zeitpunkt, zu dem die letzte Sitzung beendet wurde.

duration

bigint

Die Dauer (in Sekunden) der Sitzung.

0 = Die Sitzung enthält keine Change Data Capture-Transaktionen.

Wenn session_id = 0, die Summer der Dauer (in Sekunden) aller Sitzungen mit Change Data Capture-Transaktionen.

scan_phase

nvarchar(200)

Die aktuelle Phase der Sitzung. Eine der folgenden Optionen:

Phase

Beschreibung

1

Lesen der Konfiguration

2

Erster Scan, Erstellen der Hashtabelle

3

Zweiter Scan

4

Zweiter Scan

5

Zweiter Scan

6

Versionsverwaltung des Schemas

7

Letzter Scan

8

Fertig

Wenn session_id = 0 ist, lautet dieser Wert immer "Aggregate".

error_count

int

Anzahl der aufgetretenen Fehler.

Wenn session_id = 0, die Gesamtzahl der Fehler in allen Sitzungen.

start_lsn

nvarchar(23)

Start-LSN für die Sitzung.

Wenn session_id = 0, die Start-LSN für die letzte Sitzung.

current_lsn

nvarchar(23)

Aktuelle LSN, die gescannt wird.

Wenn session_id = 0, weist die aktuelle LSN den Wert 0 auf.

end_lsn

nvarchar(23)

Letzte LSN für die Sitzung.

NULL = Sitzung ist aktiv.

Wenn session_id = 0, die letzte LSN für die letzte Sitzung.

tran_count

bigint

Anzahl der verarbeiteten Change Data Capture-Transaktionen. Dieser Leistungsindikator wird in Phase 2 aufgefüllt.

Wenn session_id = 0, die Anzahl der verarbeiteten Transaktionen in allen Sitzungen.

last_commit_lsn

nvarchar(23)

LSN des letzten verarbeiteten Protokolldatensatzes für den Commit.

Wenn session_id = 0, die letzte LSN des Protokolldatensatzes für den Commit einer beliebigen Sitzung.

last_commit_time

datetime

Zeitpunkt, zu dem der letzte Protokolldatensatz für den Commit verarbeitet wurde.

Wenn session_id = 0, der Zeitpunkt des letzten Protokolldatensatzes für den Commit einer beliebigen Sitzung.

log_record_count

bigint

Anzahl der gescannten Protokolldatensätze.

Wenn session_id = 0, die Anzahl der gescannten Datensätze für alle Sitzungen.

schema_change_count

int

Anzahl der erkannten Vorgänge in der Datendefinitionssprache (Data Definition Language, DDL). Dieser Leistungsindikator wird in Phase 6 aufgefüllt.

Wenn session_id = 0, die Anzahl der verarbeiteten DDL-Vorgänge in allen Sitzungen.

command_count

bigint

Anzahl der verarbeiteten Befehle.

Wenn session_id = 0, die Anzahl der verarbeiteten Befehle in allen Sitzungen.

first_begin_cdc_lsn

nvarchar(23)

Erste LSN, die Change Data Capture-Transaktionen enthalten hat.

Wenn session_id = 0, die erste LSN, die Change Data Capture-Transaktionen enthalten hat.

last_commit_cdc_lsn

nvarchar(23)

LSN des letzten Protokolldatensatzes für den Commit, der Change Data Capture-Transaktionen enthalten hat.

Wenn session_id = 0, die LSN des letzten Protokolldatensatzes für den Commit für eine beliebige Sitzung, die Change Data Capture-Transaktionen enthalten hat.

last_commit_cdc_time

datetime

Zeitpunkt, zu dem der letzte Protokolldatensatz für den Commit verarbeitet wurde, der Change Data Capture-Transaktionen enthalten hat.

Wenn session_id = 0, der Zeitpunkt des letzten Protokolldatensatzes für den Commit für eine beliebige Sitzung, die Change Data Capture-Transaktionen enthalten hat.

latency

int

Der Unterschied in Sekunden zwischen end_time und last_commit_cdc_time in der Sitzung. Dieser Leistungsindikator wird am Ende der Phase 7 aufgefüllt.

Wenn session_id = 0, der von einer Sitzung aufgezeichnete letzte Latenzzeitwert ungleich 0 (null).

empty_scan_count

int

Anzahl der aufeinander folgenden Sitzungen, die keine Change Data Capture-Transaktionen enthalten haben.

failed_sessions_count

int

Anzahl der fehlgeschlagenen Sitzungen.

Hinweise

Die Werte in dieser dynamischen Verwaltungssicht werden immer dann zurückgesetzt, wenn die Instanz von SQL Server gestartet wird.

Berechtigungen

Erfordert die VIEW DATABASE STATE-Berechtigung zum Abfragen der dynamischen Verwaltungssicht sys.dm_cdc_log_scan_sessions. Weitere Informationen zu Berechtigungen für dynamische Verwaltungssichten finden Sie unter Dynamische Verwaltungssichten und Funktionen (Transact-SQL).

Beispiele

Im folgenden Beispiel werden Informationen zur aktuellen Sitzung zurückgegeben.

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

Siehe auch

Verweis

sys.dm_cdc_errors (Transact-SQL)