Partilhar via


sys.fn_cdc_get_max_lsn (Transact-SQL)

Retorna o LSN (número de sequência de log) máximo 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.

Ícone de vínculo de tópicoConvenções de sintaxe Transact-SQL

Sintaxe

sys.fn_cdc_get_max_lsn ()

Tipos de retorno

binary(10)

Comentários

Essa função retorna o LSN (número de sequência de log) máximo da 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. Para obter mais informações sobre alterações na linha do tempo de captura de dados, consulte Configurando o Change Data Capture.

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 AdventureWorks2008R2.

USE AdventureWorks2008R2;
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 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