Share via


sys.fn_cdc_increment_lsn (Transact-SQL)

Devuelve el número de secuencia de registro (LSN) siguiente de la secuencia basado en el LSN especificado.

Icono de vínculo a temasConvenciones de sintaxis de Transact-SQL

Sintaxis

sys.fn_cdc_increment_lsn ( lsn_value )

Argumentos

  • lsn_value
    El valor de LSN. lsn_value es binary(10).

Tipo devuelto

binary(10)

Comentarios

El valor LSN devuelto por la función siempre es mayor que el valor especificado y no existe ningún valor LSN entre los dos valores.

Para consultar sistemáticamente una secuencia de datos de cambio durante un periodo de tiempo, puede repetir periódicamente la llamada de función de la consulta, especificando cada vez un nuevo intervalo de la consulta para limitar los cambios devueltos en la misma. Para ayudar a asegurarse de que no se pierden datos, el límite superior de la consulta anterior se utiliza a menudo para generar el límite inferior de la consulta subsiguiente. Dado que el intervalo de la consulta es cerrado, el nuevo límite inferior debe ser mayor que el límite superior anterior, pero lo suficientemente pequeño para asegurarse de que ningún cambio contiene valores LSN comprendidos entre este valor y el límite superior anterior. La función sys.fn_cdc_increment_lsn se utiliza para obtener este valor.

Permisos

Debe pertenecer al rol de base de datos public.

Ejemplos

En el ejemplo siguiente se utiliza sys.fn_cdc_increment_lsn para generar un nuevo valor de límite inferior para una consulta de captura de datos modificados basado en el límite superior guardado de una consulta anterior y guardado en la variable @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