sys.fn_cdc_increment_lsn (Transact-SQL)
Retorna o próximo LSN (número de sequência de log) da sequência com base no LSN especificado.
Convenções da sintaxe Transact-SQL
Sintaxe
sys.fn_cdc_increment_lsn ( lsn_value )
Argumentos
- lsn_value
Valor do 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 de 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
Exige a associação à função de banco de dados public.
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 AdventureWorks2012;
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
Consulte também
Referência
sys.fn_cdc_decrement_lsn (Transact-SQL)
cdc.fn_cdc_get_all_changes_<capture_instance> (Transact-SQL)
cdc.fn_cdc_get_net_changes_<capture_instance> (Transact-SQL)