sys.fn_cdc_get_max_lsn (Transact-SQL)

Gibt die höchste Protokollfolgenummer (Log Sequence Number, LSN) in der Spalte start_lsn der Systemtabelle cdc.lsn_time_mapping zurück. Mithilfe dieser Funktion können Sie den oberen Endpunkt der Change Data Capture-Zeitachse für jede Aufzeichnungsinstanz zurückgeben.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

sys.fn_cdc_get_max_lsn ()

Rückgabetypen

binary(10)

Hinweise

Diese Funktion gibt die höchste LSN in der Spalte start_lsn der Tabelle cdc.lsn_time_mapping zurück. Es handelt sich entsprechend um die letzte LSN, die vom Aufzeichnungsprozess verarbeitet wurde, als Änderungen an die Datenbank-Änderungstabellen weitergegeben wurden. Sie wird auch als oberer Endpunkt für alle Zeitachsen verwendet, die den für die Datenbank definierten Aufzeichnungsinstanzen zugeordnet sind. Weitere Informationen zum Ändern der Change Data Capture-Zeitachse finden Sie unter Konfigurieren von Change Data Capture.

Die Funktion wird meist verwendet, um einen geeigneten oberen Endpunkt für ein Abfrageintervall zu erhalten.

Berechtigungen

Erfordert die Mitgliedschaft in der public-Datenbankrolle.

Beispiele

A. Zurückgeben des höchsten LSN-Werts

Im folgenden Beispiel wird die höchste LSN für alle Aufzeichnungsinstanzen in der AdventureWorks-Datenbank zurückgegeben.

USE AdventureWorks;
GO
SELECT sys.fn_cdc_get_max_lsn()AS max_lsn;

B. Festlegen des oberen Endpunkts eines Abfragebereichs

Im folgenden Beispiel wird die höchste von sys.fn_cdc_get_max_lsn zurückgegebene LSN verwendet, um den oberen Endpunkt für einen Abfragebereich für die HumanResources_Employee-Aufzeichnungsinstanz festzulegen.

USE AdventureWorks;
GO
DECLARE @from_lsn binary(10), @to_lsn binary(10);
SET @from_lsn = sys.fn_cdc_get_min_lsn(N'HumanResources_Employee');
SET @to_lsn = sys.fn_cdc_get_max_lsn();
SELECT * FROM cdc.fn_cdc_get_all_changes_HumanResources_Employee(@from_lsn, @to_lsn, 'all');
GO