CHANGE_TRACKING_MIN_VALID_VERSION (Transact-SQL)

適用於:SQL ServerAzure SQL DatabaseAzure SQL 受控執行個體

當您使用 CHANGETABLE 函式時,傳回用戶端上有效的最低版本,可用於從指定的資料表取得變更追蹤資訊。

Transact-SQL 語法慣例

語法

  
CHANGE_TRACKING_MIN_VALID_VERSION ( table_object_id )  

引數

table_object_id
這是資料表的物件識別碼。 table_object_id是 int

傳回類型

bigint

備註

使用此函式來驗證 CHANGETABLE last_sync_version 參數的值 。 如果 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)