CHANGE_TRACKING_MIN_VALID_VERSION (Transact-SQL)

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

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より小さい場合、変更された行の一覧は無効になります。

Note

通常、データの同期に使用された最後のバージョン番号を格納したテーブルまたはその他の場所から値を取得します。

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