CHANGE_TRACKING_MIN_VALID_VERSION (Transact-SQL)
Область применения: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure
Возвращает минимальную версию клиента, допустимую для получения сведений об отслеживании изменений из указанной таблицы при использовании функции 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 ...)
См. также
функции Отслеживание изменений (Transact-SQL)
sys.change_tracking_tables (Transact-SQL)