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.
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 AdventureWorks2008R2.
USE AdventureWorks2008R2;
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 AdventureWorks2008R2;
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
Vedere anche