パブリケーションの作成

標準的な SQL Server のレプリケーション ツールと手法を使用して、SQL Server Compact 3.5 のパブリケーションを作成します。パブリケーションを最も簡単に作成する方法は、パブリケーション ウィザードを使用することです。また、sp_addmergepublication ストアド プロシージャを使用してパブリケーションを作成することもできます。

パブリケーション ウィザードを使用したパブリケーションの作成

パブリケーションを最も簡単に作成する方法は、SQL Server のパブリケーション ウィザードを使用することです。このウィザードでは、パブリッシャ、パブリケーションの種類、およびパブリッシュするアーティクルを選択できるグラフィカル ユーザー インターフェイスが用意されています。また、これらのグラフィカル ユーザー インターフェイスを使用して、パブリケーションに対するフィルタ選択を構成することもできます。

パブリケーション ウィザードを使用して SQL Server Compact 3.5 のサブスクライバのパブリケーションを作成する際は、以下のオプションを選択する必要があります。

  • [パブリケーションの種類] ページで、[マージ パブリケーション] をクリックします。

  • 以下の手順に従って、Windows CE のサブスクライバを有効にします。

    • SQL Server 2005 以降のバージョンの場合、[サブスクライバの種類] ページで [SQL Server 2005 Mobile、SQL Server Compact 3.1 以降] をクリックします。

    サブスクライバを有効にすることにより、パブリケーションのキャラクタ モード スナップショットが自動的に構成されます。SQL Server 2005 以降のバージョンでは、Web 同期も有効になります。

このサーバーに対するパブリケーションを初めて作成するときは、パブリケーション ウィザードで既定のスナップショット フォルダの場所を構成するように指示されます。スナップショット フォルダには、パブリッシュされるテーブルのスキーマとデータを含むスナップショット ファイルが格納されます。IIS ユーザーは、これらのスナップショット ファイルを読み取り、スマート デバイスにファイルをダウンロードできるようにする必要があります。

注意

スナップショット フォルダの既定の場所は、SQL Server のインストール フォルダのローカル パスです。このパスを共有フォルダに変更して、IIS ユーザーがネットワーク経由でスナップショットにアクセスできるようにする必要があります。スナップショット フォルダの作成と構成の詳細については、「スナップショット フォルダの構成」を参照してください。

パブリケーション ウィザードの使用の詳細については、SQL Server オンライン ブックの「レプリケーション ウィザード」を参照してください。

sp_addmergepublication を使用したパブリケーションの作成

sp_addmergepublication ストアド プロシージャを使用して新しいパブリケーションを作成することもできます。このストアド プロシージャを使用する場合、特定の引数に特定の値を指定して、SQL Server Compact データベースのサブスクライバを許可する必要があります。次の表に、それらの引数と必要な値を示します。

引数

必要な値

SQL Server のバージョン

@sync_mode

'character'

SQL Server 2005 以降のバージョン

@allow_pull

true

SQL Server 2005 以降のバージョン

@allow_anonymous

true

SQL Server 2005 以降のバージョン

@centralized_conflicts

true

SQL Server 2005 以降のバージョン

@compress_snapshot

false

SQL Server 2005 以降のバージョン

@allow_web_synchronization

true

SQL Server 2005 以降のバージョン

@conflict_logging

both または Publisher

SQL Server 2005 以降のバージョン

@keep_partition_changes

true

SQL Server 2005 以降のバージョン

上記の表に記載されている必須の引数以外に、sp_addmergepublication ストアド プロシージャでは追加の引数を使用でき、以下のルールが適用されます。

  • @alt\_snapshot\_folder は、@snapshot_in_defaultfolder が false に設定された場合のみサポートされます。

  • @pre-snapshot\_script は、サブスクライバでは無視されます。

  • @post\_snapshot\_script は、サブスクライバでは無視されます。

  • @keep\_partition\_changes は、SQL Server で推奨されていないパラメータなので、使用しないでください。代わりに、@use_partition_groups に true を設定すると、フィルタ選択されたアーティクルの同期のパフォーマンスが向上します。

  • @allow\_synctoalternate は、サブスクライバでは無視されます。

注意

@partition_options が 1、2、3 のいずれかに設定されると、SQL Server Compact 3.5 ではパーティション外部からの挿入から保護されません。したがって、同期中、パーティション外部からの挿入はパブリッシャによって無視されますが、競合として記録されず、サブスクライバで削除されないので、相違が発生する原因となります。開発者は、パーティション外部からの挿入がアプリケーション層で行われないようにする必要があります。

関連項目

その他の技術情報

パブリケーションへのアーティクルの追加

パブリケーションのセキュリティ設定