CHANGE_TRACKING_MIN_VALID_VERSION (Transact-SQL)
Возвращает минимальную версию, допустимую для получения данных отслеживания изменений из указанной таблицы с использованием функции CHANGETABLE.
Синтаксические обозначения Transact-SQL
Синтаксис
CHANGE_TRACKING_MIN_VALID_VERSION ( table_object_id )
Аргументы
- table_object_id
Объектный идентификатор таблицы. Аргумент table_object_id имеет тип int.
Тип возвращаемых данных
bigint
Замечания
Используйте эту функцию для проверки значения параметра last_sync_version функции CHANGETABLE. Если значение last_sync_version меньше значения, возвращаемого этой функцией, результаты, возвращаемые последующим вызовом CHANGETABLE, могут быть недопустимы.
Функция CHANGE_TRACKING_MIN_VALID_VERSION использует для определения значения возврата следующие сведения.
Когда было включено отслеживание изменений для таблицы.
Когда была выполнена задача фоновой очистки для удаления данных отслеживания изменений, срок хранения которых превысил срок хранения, указанный для базы данных.
Была ли таблица усечена. При этом удаляются все данные отслеживания изменений, связанные с таблицей.
Функция возвращает значение NULL, если любое из следующих условий верно.
Отслеживание изменений для базы данных не включено.
Указанный идентификатор объекта таблицы для текущей базы данных недопустим.
Недостаточно разрешений для таблицы, указанной идентификатором объекта.
Примеры
В следующем примере определяется, является ли указанная версия допустимой. В примере получается минимально допустимая версия таблицы dbo.Employees, а затем это значение сравнивается со значением переменной @last\_sync\_version. Если значение @last\_sync\_version меньше, чем значение переменной @min\_valid\_version, список измененных строк недопустим.
Примечание |
---|
Обычно это значение получается из таблицы или другого места, в котором хранится номер последней версии, использованной для синхронизации данных. |
-- The tracked change is tagged with the specified context
DECLARE @min_valid_version bigint, @last_sync_version bigint;
SET @min_valid_version =
CHANGE_TRACKING_MIN_VALID_VERSION(OBJECT_ID('dbo.Employees'));
SET @last_sync_version = 11
IF (@last_sync_version < @min_valid_version)
-- Error � do not obtain changes
ELSE
-- Obtain changes using CHANGETABLE(CHANGES ...)
См. также
Справочник
sys.change_tracking_tables (Transact-SQL)