Partilhar via


sys.fn_cdc_increment_lsn (Transact-SQL)

Retorna o próximo LSN (número de sequência de log) na sequência baseada no LSN especificado.

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

Sintaxe

sys.fn_cdc_increment_lsn ( lsn_value )

Argumentos

  • lsn_value
    Valor LSN. lsn_value é binary(10).

Tipo de retorno

binary(10)

Comentários

O valor de LSN retornado pela função é sempre superior ao valor especificado e nenhum valor de LSN pode existir entre os dois valores.

Para consultar sistematicamente um fluxo de alteração de dados ao longo do tempo, você pode periodicamente repetir a função de chamada de consulta sempre especificando um novo intervalo de consulta para limitar as mudanças retornadas na consulta. Para garantir que nenhum dado seja perdido, o limite superior da consulta anterior é frequentemente usado para gerar o limite inferior da consulta subsequente. Como o intervalo de consulta é um intervalo fechado, o novo limite inferior deve ser maior do que o limite superior anterior, mas pequeno o suficiente para garantir que nenhuma alteração tenha valores LSN que se enquadrem entre esse valor e o limite superior antigo. A função sys.fn_cdc_increment_lsn é usada para obter esse valor.

Permissões

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

Exemplos

O exemplo a seguir usa sys.fn_cdc_increment_lsn para gerar um novo valor de limite inferior para uma consulta Change Data Capture com base no limite superior salvo de uma consulta anterior e salvo na variável @save_to_lsn.

USE AdventureWorks2008R2;
GO
DECLARE @from_lsn binary(10), @to_lsn binary(10), @save_to_lsn binary(10);
SET @save_to_lsn = <previous_upper_bound_value>;
SET @from_lsn = sys.fn_cdc_increment_lsn(@save_to_lsn);
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