トランザクション レプリケーションの概要
一般にトランザクション レプリケーションは、パブリケーションのデータベース オブジェクトとデータのスナップショットで開始されます。最初のスナップショットが取得されるとすぐ、それ以後パブリッシャでデータやスキーマが変更されると、通常はその都度 (ほぼリアルタイムで) サブスクライバに配信されるようになります。データの変更は、パブリッシャで発生したのと同じ順序で、同じトランザクションの中で、サブスクライバに適用されます。したがって、パブリケーション内では、トランザクションの一貫性が保証されます。
トランザクション レプリケーションは一般にサーバー間の環境で使用され、次のような場合に適しています。
- 増分変更をその都度サブスクライバに反映する場合。
- アプリケーションで、パブリッシャでの変更をサブスクライバに反映するまでの待機時間を短くする必要がある場合。
- アプリケーションで中間状態のデータにアクセスする必要がある場合。たとえば行が 5 回変更された場合、トランザクション レプリケーションでは、その行の最終的な変更結果だけでなく、それぞれの変更にアプリケーションで応答すること (トリガを起動するなど) ができます。
- パブリッシャで大量の挿入、更新、および削除が行われる場合。
- パブリッシャまたはサブスクライバが SQL Server 以外のデータベース (Oracle など) である場合。
既定では、変更はパブリッシャには反映されないため、トランザクション パブリケーションに対するサブスクライバは読み取り専用として処理されます。ただし、サブスクライバでの更新を許可するオプションも用意されています。詳細については、「トランザクション レプリケーションで使用するパブリケーションの種類」を参照してください。
トランザクション レプリケーションの実装については、「レプリケーションの実装」を参照してください。
トランザクション レプリケーションを含む一般的なシナリオについては、「サーバー間環境でのデータのレプリケート」を参照してください。