CHANGE_TRACKING_MIN_VALID_VERSION (Transact-SQL)
適用対象: SQL Server Azure SQL Database Azure SQL Managed Instance
CHANGETABLE 関数を使用している場合に、指定したテーブルから変更追跡情報を取得するときに使用できるクライアントの最小バージョンを返します。
構文
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
の値より小さい場合、変更された行の一覧は無効になります。
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)