Share via


CHANGE_TRACKING_MIN_VALID_VERSION (Transact-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 ...)