sys.fn_cdc_get_max_lsn (Transact-SQL)
Si applica a: SQL Server
Restituisce il numero di sequenza di log massimo (LSN) dalla colonna start_lsn nella 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.
Convenzioni relative alla sintassi Transact-SQL
Sintassi
sys.fn_cdc_get_max_lsn ()
Tipi restituiti
binary(10)
Osservazioni:
Questa funzione restituisce il numero massimo di LSN 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.
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
R. Restituzione del valore LSN massimo
Nell'esempio seguente viene restituito il numero LSN massimo per tutte le istanze di acquisizione nel database AdventureWorks2022.
USE AdventureWorks2022;
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 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
Vedi anche
sys.fn_cdc_get_min_lsn (Transact-SQL)
Log delle transazioni (SQL Server)