Поделиться через


sys.fn_cdc_increment_lsn (Transact-SQL)

Возвращает следующий регистрационный номер транзакции в журнале (LSN) в последовательности относительно указанного номера.

Применимо для следующих объектов: SQL Server (начиная с SQL Server 2008 до текущей версии).

Значок ссылки на раздел Cинтаксические обозначения в Transact-SQL

Синтаксис

sys.fn_cdc_increment_lsn ( lsn_value )

Аргументы

  • lsn_value
    Значение LSN. Аргумент lsn_value имеет тип binary(10).

Возвращаемый тип

binary(10)

Замечания

Номер LSN, возвращаемый функцией, всегда больше заданного значения. Между указанными двумя значениями не может быть промежуточных номеров LSN.

Для систематического отображения информации об изменениях данных с течением времени можно периодически вызывать функцию запроса, каждый раз указывая новые значения границ интервала. Чтобы исключить потерю данных, необходимо в качестве нижней границы последующего запроса использовать верхнюю границу предыдущего запроса. Так как интервал запроса является замкнутым, то новое значение нижней границы должно быть больше, чем значение верхней границы предыдущего запроса. Однако необходимо убедиться, что разница между указанными значениями границ достаточно мала и не включает номеров LSN каких-либо изменений. Функция sys.fn_cdc_increment_lsn используется для получения этого значения.

Разрешения

Требует членства в роли базы данных public.

Примеры

В следующем примере новое значение нижней границы интервала системы отслеживания измененных данных формируется с помощью функции sys.fn_cdc_increment_lsn. При этом используется значение верхней границы предыдущего запроса, а результат записывается в переменную @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

См. также

Справочник

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)

Основные понятия

Журнал транзакций (SQL Server)

Об отслеживании измененных данных (SQL Server)