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]