CHANGE_TRACKING_MIN_VALID_VERSION (Transact-SQL)
返回在您使用 CHANGETABLE 函数时用来从指定的表中获取更改跟踪信息的最低有效版本。
语法
CHANGE_TRACKING_MIN_VALID_VERSION ( table_object_id )
参数
- table_object_id
是表的对象 ID。table_object_id 的数据类型为 int。
返回类型
bigint
注释
使用该函数可验证 CHANGETABLE 的 last_sync_version 参数的值。 如果 last_sync_version 小于该函数所报告的值,则稍后调用 CHANGETABLE 时返回的结果可能无效。
CHANGE_TRACKING_MIN_VALID_VERSION 使用以下信息来确定返回值:
为此表启用更改跟踪的时间。
何时运行后台清除任务来删除超过了数据库的指定保持期的更改跟踪信息。
此表是否已被截断。 这会删除与此表关联的所有更改跟踪信息。
如果符合下列任一条件,该函数将返回 NULL:
没有为数据库启用更改跟踪。
指定表的对象 ID 对当前数据库无效。
对由此对象 ID 指定的表拥有的权限不足。
示例
下面的示例确定指定的版本是否为有效版本。 此示例获取 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 ...)