sys.fn_cdc_get_max_lsn (Transact-SQL)
Gilt für: SQL Server
Gibt die maximale Protokollsequenznummer (LSN) aus der spalte start_lsn in der cdc.lsn_time_mapping Systemtabelle zurück. Mithilfe dieser Funktion können Sie den oberen Endpunkt der Change Data Capture-Zeitachse für jede Aufzeichnungsinstanz zurückgeben.
Transact-SQL-Syntaxkonventionen
Syntax
sys.fn_cdc_get_max_lsn ()
Rückgabetypen
binary(10)
Hinweise
Diese Funktion gibt den maximalen LSN in der start_lsn Spalte der cdc.lsn_time_mapping Tabelle 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.
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 der maximale LSN für alle Aufnahmeinstanzen in der AdventureWorks2022-Datenbank zurückgegeben.
USE AdventureWorks2022;
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 AdventureWorks2022;
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
Weitere Informationen
sys.fn_cdc_get_min_lsn (Transact-SQL)
Das Transaktionsprotokoll [SQL Server]