サブスクリプションの再初期化 (SQL Server Compact Edition)
アプリケーションでは、Replication オブジェクトを使用して既存の Microsoft SQL Server サブスクリプションを再初期化し、新しいスナップショット データをパブリッシャからダウンロードします。これが特に役立つのは、Microsoft SQL Server 2005 Compact Edition (SQL Server Compact Edition) サブスクリプションに、パブリッシャ側で定期的に更新される読み取り専用のデータが含まれている場合です。
ReinitializeSubscription メソッドの呼び出し
アプリケーションでサブスクリプションを再初期化する場合は、Replication オブジェクトが作成され、適切な Replication オブジェクトのプロパティが設定され、その後、ReInitializeSubscription メソッド (レプリケーション) が呼び出されます。
メモ : |
---|
Microsoft Visual C++ for Devices では、アプリケーションは Replication オブジェクトの単一のインスタンスに対し、ReinitializeSubscription、Initialize メソッド (レプリケーション)、Run メソッド (レプリケーション)、および Terminate メソッド (レプリケーション) をこの順で呼び出す必要があります。アプリケーションで ReinitializeSubscription を呼び出すだけでは既存のレプリカに再初期化のマークが付けられるだけなので、その後にメソッド呼び出しが必要です。アプリケーションで Initialize、Run、および Terminate メソッドを呼び出して初めて、既存のレプリカが削除され、パブリッシャからデバイスにダウンロードしたパブリケーションの新しいレプリカが作成されます。マネージ コードを使用する場合、ReinitializeSubscription メソッドのみが使用されます。 |
このトピックでは、サブスクリプションを再初期化する方法の例を示します。
複数のサブスクリプションと ReinitializeSubscription メソッド
SQL Server Compact Edition では 1 つのデータベースを複数のパブリケーションと同期できるので、ReinitializeSubscription メソッドを使用してサブスクリプションを再初期化するときは、複数のサブスクリプションへの影響を考慮する必要があります。
- データベースにサブスクリプションが 1 つしか含まれていない場合、ReinitializeSubscription メソッドを呼び出すと、そのサブスクリプションは次回の同期中に再初期化するようマークされます。
- データベースに複数のサブスクリプションが含まれている場合、Publisher、Publication、および PublisherDatabase プロパティを設定して、再初期化するサブスクリプションを明示する必要があります。
メモ : |
---|
自動再同期は、常に SQL Server に対する独立した同期と見なされます。したがって、SQL Server レプリケーション モニタでは、それぞれ別の同期処理が行われます。SQL Server Compact Edition のサブスクライバでは、SqlCeReplication クラスの PublisherChanges、SubscriberChanges、PublisherConflicts、および SubscriberConflicts プロパティの値が加算され、最後の同期の戻り値として、すべての同期の合計が返されます。 |
参照
処理手順
SQL Server Compact Edition サブスクリプションを再初期化する方法 (プログラム)
概念
複数のサブスクリプションのサポート
サブスクリプションの作成
サブスクリプションの削除
その他の技術情報
Replication オブジェクトのメソッド
Replication オブジェクトのプロパティ