CHANGE_TRACKING_MIN_VALID_VERSION (Transact-SQL)

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

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

Transact-SQL 语法约定

语法

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

另请参阅

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