CHANGE_TRACKING_MIN_VALID_VERSION (Transact-SQL)

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例

使用 CHANGETABLE 函数时,返回客户端上可用于从指定表获取更改跟踪信息的最低版本。

Transact-SQL 语法约定

语法

  
CHANGE_TRACKING_MIN_VALID_VERSION ( table_object_id )  

参数

table_object_id
表的对象 ID。 table_object_idint

返回类型

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 ...)  

另请参阅

更改跟踪函数 (Transact-SQL)
sys.change_tracking_tables (Transact-SQL)