次の方法で共有


サブスクリプションの再初期化 (SQL Server Compact)

アプリケーションでは、Replication オブジェクトを使用して既存の MicrosoftSQL Server サブスクリプションを再初期化し、新しいスナップショット データをパブリッシャからダウンロードします。これが特に役立つのは、Microsoft SQL Server Compact 3.5 サブスクリプションに、パブリッシャー側で定期的に更新される読み取り専用のデータが含まれている場合です。

ReinitializeSubscription メソッドの呼び出し

アプリケーションでサブスクリプションを再初期化する場合は、Replication オブジェクトが作成され、適切な Replication オブジェクトのプロパティが設定され、その後、ReInitializeSubscription メソッド (レプリケーション) が呼び出されます。

注意

Microsoft Visual C++ for Devices では、アプリケーションは Replication オブジェクトの単一のインスタンスに対し、ReinitializeSubscriptionInitialize メソッド (レプリケーション)Run メソッド (レプリケーション)、および Terminate メソッド (レプリケーション) をこの順で呼び出す必要があります。アプリケーションで ReinitializeSubscription を呼び出すだけでは既存のレプリカに再初期化のマークが付けられるだけなので、その後にメソッド呼び出しが必要です。アプリケーションで InitializeRun、および Terminate メソッドを呼び出して初めて、既存のレプリカが削除され、パブリッシャからデバイスにダウンロードしたパブリケーションの新しいレプリカが作成されます。マネージ コードを使用する場合、ReinitializeSubscription メソッドのみが使用されます。

このトピックでは、サブスクリプションを再初期化する方法の例を示します。

複数のサブスクリプションと ReinitializeSubscription メソッド

SQL Server Compact 3.5 では 1 つのデータベースを複数のパブリケーションと同期できるので、ReinitializeSubscription メソッドを使用してサブスクリプションを再初期化するときは、複数のサブスクリプションへの影響を考慮する必要があります。

  • データベースにサブスクリプションが 1 つしか含まれていない場合、ReinitializeSubscription メソッドを呼び出すと、そのサブスクリプションは次回の同期中に再初期化するようマークされます。

  • データベースに複数のサブスクリプションが含まれている場合、Publisher、Publication、および PublisherDatabase プロパティを設定して、再初期化するサブスクリプションを明示する必要があります。

注意

自動再同期は、常に SQL Server に対する独立した同期と見なされます。したがって、SQL Server レプリケーション モニタでは、それぞれ別の同期処理が行われます。SQL Server Compact 3.5 のサブスクライバでは、SqlCeReplication クラスの PublisherChanges、SubscriberChanges、PublisherConflicts、および SubscriberConflicts プロパティの値が加算され、最後の同期の戻り値として、すべての同期の合計が返されます。

関連項目

その他の技術情報

サブスクリプションを再初期化する方法 (プログラム)

複数のサブスクリプションのサポート

サブスクリプションの作成

サブスクリプションの削除

Replication オブジェクトのメソッド

Replication オブジェクトのプロパティ