データの同期 (SQL Server Compact Edition)
データを同期することにより、Microsoft SQL Server 2005 Compact Edition (SQL Server Compact Edition) サブスクリプション データベースのデータと、それに対応するパブリケーションのデータを確実に一致させることができます。SQL Server Compact Edition データベースを同期すると、データベースに加えた変更がパブリケーションに送信されます。SQL Server は、送信された変更とそのパブリケーション データベースに対するすべての変更をマージし、発生した競合を解決してから、SQL Server Compact Edition サブスクリプションにその変更を戻します。
データ同期の動作
SQL Server Compact Edition サブスクライバと SQL Server を同期すると、データに対するすべての変更がパブリケーション データベースから取得されます。ただし、SQL Server Compact Edition サブスクライバの初回同期時は、パブリケーション データベースから直接データが取得されるか、スナップショット ファイル (スナップショット フォルダの .bcp ファイル) からデータが取得されます。
SQL Server Compact Edition とのデータの同期は、同期方式または非同期方式により実行できます。同期方式によるデータ同期を使用するアプリケーションでは、同期の完了を待機してから処理が続行されます。一方、非同期方式によるデータ同期を使用するアプリケーションを記述する場合、そのアプリケーションでは、同期の完了を待機している間でも他の情報の処理を続行できます。詳細については、「同期方式によるデータ同期」および「非同期方式によるデータ同期」を参照してください。
データ同期の時期
データの同期は、アプリケーションで Replication オブジェクトの Synchronize メソッドを呼び出すことによって、同期が要求されるたびに行われます。また、特定の同期に関する問題が発生した場合に、自動的に同期が行われる可能性もあります。以下のシナリオのいずれかが発生すると、パブリッシャにより自動再同期メッセージが送信されます。
- パブリッシャのスキーマが変更される。
- サブスクライバが常に優先される競合回避モジュールを使用しており、サーバーにそのサブスクライバのデータを適用できない。
- パブリッシャからのデータをサブスクライバに適用する際に、参照整合性 (R/I) に関する問題が発生する。
- 列レベルの競合がパブリッシャに存在する。この問題が発生すると、すべての行の再送信がサーバーからサブスクライバに要求されます。
- 同期中に Microsoft インターネット インフォメーション サービスが再起動される。
メモ : |
---|
自動再同期は、最大 5 回まで連続して発生することがあります。自動再同期の原因である R/I に関する問題が存在する場合、発生回数は 2 回だけです。 |