変更の追跡

SQL Server 2008 の変更の追跡を使用すると、ユーザー テーブルに加えられた変更とその変更に関する情報のみをアプリケーションで取得できます。SQL Server に組み込まれている変更の追跡を使用することで、複雑なカスタム変更追跡ソリューションを開発する必要がなくなります。

変更の追跡は、エンド ツー エンドのレプリケーション ソリューションが機能せずカスタム ソリューションが必要なシナリオでデータを同期およびレプリケートするアプリケーションの重要な構成要素です。このようなシナリオの例として、SQL Server データベースではないデータ ストアとデータを同期する必要がある場合や、ストア スキーマが大きく異なる場合などが挙げられます。

このセクションの内容

  • 変更の追跡の概要
    変更の追跡について説明します。変更の追跡のしくみについて概要を示し、変更の追跡が SQL Server データベース エンジンのその他の機能とどのように連携するかを説明します。

  • 変更の追跡の構成および管理
    変更の追跡の構成方法と変更追跡データの管理方法についてのチュートリアルです。

  • 変更の追跡の使用
    変更の追跡を使用して変更を列挙し、一方向および双方向の同期を行う方法を示します。

関連する関数

関数

説明

CHANGETABLE (Transact-SQL)

指定したバージョン以降に行われたテーブルに対するすべての変更の追跡情報または指定した行に関する最新の変更追跡情報を取得します。

CHANGE_TRACKING_MIN_VALID_VERSION (Transact-SQL)

CHANGETABLE 関数の使用時に、指定したテーブルから変更追跡情報を取得するのに使用できる、最小バージョンを取得します。

CHANGE_TRACKING_CURRENT_VERSION (Transact-SQL)

最後にコミットされたトランザクションに関連付けられているバージョンを取得します。次に CHANGETABLE を使用して変更を列挙するとき、このバージョンを使用できます。

CHANGE_TRACKING_IS_COLUMN_IN_MASK (Transact-SQL)

CHANGETABLE(CHANGES _) 関数によって返される SYS_CHANGE_COLUMNS 値を解釈します。

WITH CHANGE_TRACKING_CONTEXT

アプリケーションにおけるデータ変更時の、実行者 ID などの変更コンテキストの指定を有効化します。

関連するカタログ ビュー

カタログ ビュー

説明

sys.change_tracking_databases

変更の追跡が有効な SQL Server のインスタンス内のデータベースごとに 1 行のデータを返します。

sys.change_tracking_tables

変更の追跡が有効な現在のデータベース内のテーブルごとに 1 行のデータを返します。