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.
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
Consulte também