sys.fn_cdc_increment_lsn (Transact-SQL)

Aplica-se a: SQL Server

Devolve o próximo número de sequência logarítmica (LSN) na sequência com base no LSN especificado.

Transact-SQL convenções de sintaxe

Syntax

  
sys.fn_cdc_increment_lsn ( lsn_value )  

Arguments

lsn_value

Valor LSN. lsn_value é binário(10).

Tipo de Retorno

binary(10)

Observações

O valor LSN devolvido pela função é sempre maior do que o valor especificado, e não existem valores LSN entre os dois valores.

Para consultar sistematicamente um fluxo de dados de alterações ao longo do tempo, pode repetir periodicamente a chamada da função de consulta, especificando cada vez um novo intervalo de consulta para limitar as alterações devolvidas na consulta. Para ajudar a garantir que não se percam dados, o limite superior da consulta anterior é frequentemente usado para gerar o limite inferior da consulta seguinte. Como o intervalo de consulta é um intervalo fechado, o novo limite inferior deve ser maior do que o limite superior anterior, mas suficientemente pequeno para garantir que não haja alterações com valores LSN entre este valor e o limite superior antigo. A função sys.fn_cdc_increment_lsn é usada para obter este valor.

Permissions

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

Examples

O exemplo seguinte serve sys.fn_cdc_increment_lsn para gerar um novo valor de limite inferior para uma consulta de captura de dados de alteração com base no limite superior guardado de uma consulta anterior e guardado na variável @save_to_lsn.

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

Note

O erro 313 é esperado se o alcance do LSN fornecido não for apropriado ao chamar cdc.fn_cdc_get_all_changes_<capture_instance> ou cdc.fn_cdc_get_net_changes_<capture_instance>. Se o lsn_value parâmetro estiver para além do tempo do LSN mais baixo ou do LSN mais alto, então a execução destas funções retornará o erro 313: Msg 313, Level 16, State 3, Line 1 An insufficient number of arguments were supplied for the procedure or function. Este erro deve ser tratado pelo desenvolvedor.