sys.fn_cdc_decrement_lsn (Transact-SQL)
Область применения: SQL Server
Возвращает предыдущий регистрационный номер транзакции в журнале (LSN) в последовательности, основанной на заданном номере LSN.
Соглашения о синтаксисе Transact-SQL
Синтаксис
sys.fn_cdc_decrement_lsn ( lsn_value )
Аргументы
lsn_value
Значение LSN. lsn_value является двоичным(10).
Тип возвращаемых данных
binary(10)
Замечания
Номер LSN, возвращаемый этой функцией, всегда меньше указанного значения, и между этими двумя значениями не могут существовать другие номера LSN.
Разрешения
Требуется членство в роли общедоступной базы данных.
Примеры
В следующем примере функция sys.fn_cdc_decrement_lsn
используется для установки верхней границы номеров LSN в запросе, возвращающем строки информации об изменениях, имеющих номера LSN меньше максимального значения LSN.
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
Примечание.
Ошибка 313 ожидается, если диапазон LSN не подходит при вызове cdc.fn_cdc_get_all_changes_<capture_instance>
или cdc.fn_cdc_get_net_changes_<capture_instance>
. lsn_value
Если параметр выходит за пределы времени наименьшего LSN или самого высокого LSN, выполнение этих функций возвращается в ошибке 313: Msg 313, Level 16, State 3, Line 1 An insufficient number of arguments were supplied for the procedure or function
Эта ошибка должна быть обработана разработчиком.