Condividi tramite


sys.fn_cdc_get_max_lsn (Transact-SQL)

Restituisce il numero massimo di sequenza del file di log (LSN) nella colonna start_lsn della tabella di sistema cdc.lsn_time_mapping. È possibile utilizzare questa funzione per restituire l'endpoint superiore della cronologia dell'acquisizione dei dati delle modifiche per qualsiasi istanza di acquisizione.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQL

Sintassi

sys.fn_cdc_get_max_lsn ()

Tipi restituiti

binary(10)

Osservazioni

La funzione restituisce il valore LSN massimo nella colonna start_lsn della tabella cdc.lsn_time_mapping. Pertanto, è l'ultimo valore LSN elaborato dal processo di acquisizione quando le modifiche vengono propagate alle tabelle delle modifiche del database. Viene utilizzato come endpoint superiore per tutte le cronologie associate alle istanze di acquisizione definite per il database. Per ulteriori informazioni sulla cronologia dell'acquisizione dei dati delle modifiche, vedere Configurazione di Change Data Capture.

La funzione viene utilizzata in genere per ottenere un endpoint superiore appropriato per un intervallo di query.

Autorizzazioni

È richiesta l'appartenenza al ruolo del database public.

Esempi

A. Restituzione del valore LSN massimo

Nell'esempio seguente viene restituito il valore LSN massimo per tutte le istanze di acquisizione nel database AdventureWorks.

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

B. Impostazione dell'endpoint superiore di un intervallo di query

Nell'esempio seguente è utilizzato il numero LSN massimo restituito da sys.fn_cdc_get_max_lsn per impostare l'endpoint superiore per un intervallo di query per l'istanza di acquisizione HumanResources_Employee.

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