sys.fn_cdc_get_max_lsn (Transact-SQL)

Aplica-se a:SQL Server

Retorna o LSN (número máximo de sequência de log) da coluna start_lsn na tabela do sistema cdc.lsn_time_mapping . É possível usar essa função para retornar o ponto de extremidade superior da linha do tempo de captura de dados de alteração para qualquer instância de captura.

Convenções de sintaxe de Transact-SQL

Sintaxe

  
sys.fn_cdc_get_max_lsn ()  

Tipos de retorno

binary(10)

Comentários

Essa função retorna o LSN máximo na coluna start_lsn da tabela cdc.lsn_time_mapping . Como tal, ele é o último LSN processado pelo processo de captura quando as alterações são propagadas para as tabelas de alteração do banco de dados. Ele serve como ponto de extremidade superior de todas as linhas do tempo associadas às instâncias de captura definidas para o banco de dados.

A função é tipicamente usada para obter um ponto de extremidade superior apropriado para um intervalo de consulta.

Permissões

Requer associação na função pública do banco de dados.

Exemplos

a. Retornando o valor LSN máximo

O exemplo a seguir retorna o LSN máximo para todas as instâncias de captura no banco de dados AdventureWorks2022.

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

B. Definindo o ponto de extremidade superior de um intervalo de consulta

O exemplo a seguir usa o LSN máximo retornado por sys.fn_cdc_get_max_lsn para definir o ponto de extremidade superior de um intervalo de consulta da instância de captura 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  

Consulte Também

sys.fn_cdc_get_min_lsn (Transact-SQL)
O log de transações (SQL Server)