共用方式為


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
這是數據表的物件識別碼。 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)