Share via


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

Microsoft SQL Server Compact 3.5 サブスクライバーは、複数のパブリケーションにサブスクライブできます。

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

SQL Server Compact 3.5 で複数のサブスクリプションがサポートされることには、以下のような利点があります。

  1. 各パブリケーションのアーティクル数を削減できます。

  2. 各パブリケーションのデータを同期するタイミングを制御できます。

  3. 各パブリケーション内の複数のテーブルに対してクエリを実行できます。

たとえば、アプリケーションで顧客情報を表示するとします。サブスクリプションのデータの半数は顧客の一覧で、読み取り専用データとして格納されています。残りの半数は、注文に関するデータです。ユーザーは両方のテーブルに対してクエリを実行して顧客別の注文データを調べ、たとえば、新しい注文情報を追加できることを期待しています。

パフォーマンス上の理由により、これらの型の異なるデータは、異なる頻度で同期するのが適切です。また、データ整合性を保つため、パブリッシャで行われた変更のみを顧客の一覧に反映するのが適切です。2 つの異なるパブリケーションにサブスクライブすることによって、これら要件を簡単に満たすことができます。パフォーマンスとデータ整合性の要件を満たすように各パブリケーションを構成し、使用する単一の SQL Server Compact 3.5 データベースに各パブリケーションからのテーブルを含めます。

注意

同じデータベース上に、複数のパブリケーションに対する異なるサブスクリプションを作成できますが、それらのパブリケーションが同じサーバー上の同じパブリッシャ データベースに存在する場合は、別のパブリケーション名を使用する必要があります。

複数のサブスクリプションの要件

単一のデータベースに複数のサブスクリプションを含める場合は、次の 2 つの制限事項があります。

  1. 各パブリケーション内のすべてのオブジェクト (テーブル、制約、およびインデックス) は、共通する部分がないようにする必要があります。

  2. 別のサブスクリプションからのテーブル間に参照整合性 (R/I) を存在させることはできません。ただし、インデックスを設定して、パフォーマンスを向上させることはできます。

  3. パブリケーション データベースのアーティクルに加えられた R/I に関する変更は、SQL Server Compact 3.5 サブスクライバに送信されます。単一の SQL Server Compact 3.5 データベース内に 2 つのサブスクリプションがあり、そのデータベース内に、パブリッシャの他のテーブルと同じ名前のローカル テーブルがあると、予期しないスキーマ変更が発生します。

注意

一部の 64 ビット プラットフォームの構成では、以前のバージョンの SQL Server Compact を使用したデータベース ファイルへの同時アクセスがサポートされません。64 ビット コンポーネントの詳細については、「64 ビット データベース アプリケーションの管理」を参照してください。