Share via


sys.fn_cdc_decrement_lsn (Transact-SQL)

Se aplica a:SQL Server

Devuelve el número de flujo de registro anterior (LSN) en la secuencia basada en el LSN especificado.

Convenciones de sintaxis de Transact-SQL

Sintaxis

  
sys.fn_cdc_decrement_lsn ( lsn_value )  

Argumentos

lsn_value

Valor de LSN. lsn_value es binary(10).

Tipo de valor devuelto

binary(10)

Comentarios

El LSN devuelto por la función siempre es menor que el valor especificado y no puede existir ningún valor de LSN entre los dos valores.

Permisos

Requiere la pertenencia al rol de base de datos pública .

Ejemplos

El ejemplo siguiente utiliza sys.fn_cdc_decrement_lsn para establecer el límite del LSN superior en una consulta que devuelve filas de los datos del cambio que tienen valores LSN menores que el valor LSN máximo.

Use AdventureWorks2022;  
GO  
DECLARE @from_lsn binary(10), @to_lsn binary(10);  
SET @from_lsn = sys.fn_cdc_get_min_lsn('HumanResources_Employee');  
SET @to_lsn = sys.fn_cdc_decrement_lsn(sys.fn_cdc_get_max_lsn());  
SELECT * FROM cdc.fn_cdc_get_all_changes_HumanResources_Employee( @from_lsn, @to_lsn, 'all');   
GO  

Nota:

Se espera el error 313 si el intervalo LSN proporcionado no es adecuado al llamar a cdc.fn_cdc_get_all_changes_<capture_instance> o cdc.fn_cdc_get_net_changes_<capture_instance>. Si el lsn_value parámetro está fuera del tiempo de LSN más bajo o LSN más alto, la ejecución de estas funciones devolverá el error 313: Msg 313, Level 16, State 3, Line 1 An insufficient number of arguments were supplied for the procedure or function. El desarrollador debe controlar este error. Puede encontrar un ejemplo de T-SQL para una solución alternativa en ReplTalk en GitHub.

Consulte también