アプリケーションでは、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 オブジェクトのプロパティ
メモ :