Sync Framework でサポートされるデータベース オブジェクト

このトピックでは、データベース オブジェクトの同期に関する Sync Framework のサポートについて説明します。

ピア ツー ピアの同期

  • DbSyncProvider では、テーブルの同期をサポートしています。Sales.Customer などのスキーマ修飾オブジェクトがサポートされます (この場合は、Customer テーブルが Sales というスキーマまたは所有者で修飾されています)。

  • ピア ツー ピアの同期では、ピア データベースの自動初期化は行われません。そのため、同期中にピア データベースにテーブルはコピーされません。ピアの初期化の詳細については、「コラボレーション同期を構成して実行する方法 (SQL Server 以外)」の「サーバー データベースの初期化」を参照してください。

クライアントとサーバーの同期

  • DbServerSyncProvider では、すべての種類の同期で、サーバー データベースのテーブルをサポートしています。スナップショットおよびダウンロードのみの同期では、ビューをサポートします。クライアントの 1 つのテーブルには、サーバーの複数のテーブルからデータを含めることができます。詳細については、「クライアントでデータ ビューを作成する方法」を参照してください。

  • サーバーでのデータの格納方法または表示方法に関係なく、SQL Server Compact は、クライアントのテーブルにデータを格納します。

  • SQL Server Compact では、Sales.Customer などのスキーマ修飾オブジェクトがサポートされません (この場合は、Customer テーブルが Sales というスキーマまたは所有者で修飾されています)。AdventureWorks サンプル データベースから Sales.Customer テーブルを同期する場合、Customer という値を TableName に指定します。

  • 既定では、クライアント データベースには、FOREIGN KEY 制約、UNIQUE 制約、DEFAULT 制約、および SQL Server ROWGUIDCOL プロパティというオブジェクトがコピーされません。クライアント データベースにこれらのオブジェクトが必要である場合は、SQL を使用してこれらを追加するか、SyncSchema オブジェクトにこれらを追加します。詳細については、「クライアント データベースを初期化してテーブル スキーマを操作する方法」を参照してください。

  • Sync Framework では、大文字と小文字を区別する照合順序がサーバー上でサポートされますが、次の制限事項があります。

    • 主キー列、および一意なインデックスまたは制約を持つ列は、VALUE1 と value1 のように大文字/小文字のみが異なる値を含むことはできません。

    • TABLE1table1 のように大文字/小文字のみが異なるデータベース オブジェクトの同期はサポートされていません。

  • サーバー上のデータベースを、複数の同期セッションに参加させることができます。ただし、データベース内のオブジェクトが一度に参加できるのは、1 つのクライアントとの同期セッションのみです。テーブルの同期中に、そのテーブルに対して Synchronize メソッドを再度呼び出すと、Sync Framework によって例外がスローされます。クライアント データベースでは、一度に 1 つの同期セッションしかサポートされません。

参照

概念

アプリケーションのデザインと配置に関する注意点