sys.fn_cdc_get_max_lsn (Transact-SQL)
Возвращает максимальный регистрационный номер транзакции в журнале (номер LSN) из столбца start_lsn в системной таблице cdc.lsn_time_mapping. Эту функцию можно использовать для возврата верхней конечной точки временной шкалы системы отслеживания измененных данных для любого экземпляра отслеживания.
Синтаксис
sys.fn_cdc_get_max_lsn ()
Типы возвращаемых данных
binary(10)
Замечания
Эта функция возвращает максимальный номер LSN в столбце start_lsn таблицы cdc.lsn_time_mapping. Этот последний номер LSN, обрабатываемый процессом отслеживания, когда изменения передаются в таблицы изменений базы данных. Он служит в качестве верхней конечной точки для любой временной шкалы, связанной с экземплярами отслеживания, определенными для базы данных. Дополнительные сведения о временной шкале в системе отслеживания измененных данных см. в разделе Настройка системы отслеживания измененных данных.
Эта функция обычно используется, чтобы получить подходящую верхнюю конечную точку для интервала запроса.
Разрешения
Требует членства в роли базы данных public.
Примеры
А. Возвращение максимального значения номера LSN
В следующем примере возвращается максимальное значение номера LSN для всех экземпляров отслеживания в базе данных AdventureWorks2008R2.
USE AdventureWorks2008R2;
GO
SELECT sys.fn_cdc_get_max_lsn()AS max_lsn;
Б. Установка верхней конечной точки запроса по диапазону
В следующем примере номер LSN, возвращенный функцией sys.fn_cdc_get_max_lsn, используется для установки верхней конечной точки запроса по диапазону для экземпляра отслеживания HumanResources_Employee.
USE AdventureWorks2008R2;
GO
DECLARE @from_lsn binary(10), @to_lsn binary(10);
SET @from_lsn = sys.fn_cdc_get_min_lsn(N'HumanResources_Employee');
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
См. также