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


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)

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

Функции отслеживания изменений (Transact-SQL)