Microsoft Synchronization Services for ADO.NET
Microsoft Synchronization Services for ADO.NET は、異種ソースのデータを、2 層、N 層、およびサービスベースのアーキテクチャを介して同期する機能を提供します。これは、組み合わせて利用できる API を提供する一連の DLL です。Synchronization Services API は、データベースとそのスキーマを単にレプリケートするのではなく、データ サービスとローカル ストアの間でデータを同期するための一連のコンポーネントも提供します。
Synchronization Services は、ハブとスポークのモデルを使用しています。クライアントで変更が生じると、その変更はすべてサーバーと同期され、その後にサーバーから他のクライアントに送信されます。クライアント間で直接変更を反映することはありません。Synchronization Services には、スナップショット、ダウンロードのみ、アップロードのみ、双方向の各種同期機能が備わっています。
- スナップショット同期とダウンロードのみの同期は、通常、製品リストなどの参照データをクライアント データベースで格納および更新する場合に使用されます。サーバーでデータが変更されると、その変更は同期実行時にクライアント データベースにダウンロードされます。スナップショット同期では、クライアントが同期されるたびにデータが更新されます。スナップショット同期は、増分変更の追跡を行わない場合や、サーバーが増分変更を実行できない場合に適しています。ダウンロードのみの同期では、前回の同期実行時以降に変更された部分のみがダウンロードされます。
- アップロードのみの同期は、通常、販売注文などのデータをクライアント データベースに挿入する際に使用されます。クライアント データベースで、挿入その他の操作によってデータが変更されると、その変更は同期実行時にサーバーにアップロードされます。
- 双方向同期は、通常、顧客の連絡先情報などのクライアントとサーバーの両方で更新される可能性があるデータに使用されます。同期実行中に、競合する変更を処理する必要があります。
クライアント データベース
Synchronization Services アプリケーションのクライアント データベースは SQL Server Compact 3.5 です。Synchronization Services によって、クライアント データベースで増分変更の追跡を行うためのインフラストラクチャが提供されます。このインフラストラクチャは、スナップショット同期以外の方法で任意のテーブルの同期が最初に実行されたときに有効になります。
重要 : |
---|
Synchronization Services の同期テクノロジと他の同期テクノロジを、クライアント データベースの 1 つのテーブルで同時に使用することはできません。 |
サーバー データベース
サーバー データベースは、ADO.NET プロバイダが利用できるデータベースであれば、種類を問いません。
Synchronization Services for ADO.NET の詳細については、Synchronization Services for ADO.NET のドキュメントを参照してください。