パブリケーションのサブスクライブ

サブスクリプションとは、パブリケーションのデータとデータベース オブジェクトのコピーを要求することです。サブスクリプションでは、受信するパブリケーションおよびパブリケーションの受信場所と受信時間が定義されます。サブスクリプションを設計する場合は、エージェント処理を実行する場所を考慮してください。選択したサブスクリプションの種類に応じて、エージェントを実行する場所が決まります。マージ エージェントまたはディストリビューション エージェントは、プッシュ サブスクリプションではディストリビュータで実行されますが、プル サブスクリプションではサブスクライバで実行されます。サブスクリプションの作成後にその種類を変更することはできません。

サブスクリプション 特性 いつ使用するか

プッシュ サブスクリプション

プッシュ サブスクリプションでは、サブスクライバからの要求なしにパブリッシャが変更をサブスクライバに反映します。変更は、要求時、連続的、スケジュールのいずれかの方法に基づいて、サブスクライバにプッシュできます。ディストリビューション エージェントまたはマージ エージェントはディストリビュータで実行されます。

  • 連続的に、または定期的なスケジュールで頻繁にデータの同期をとる場合
  • パブリケーションがほぼリアルタイムのデータの移動を必要とする場合
  • ディストリビュータのプロセッサのオーバーヘッドが高くなってもパフォーマンスに影響しない場合
  • スナップショット レプリケーションとトランザクション レプリケーションで最も頻繁に使用する場合

プル サブスクリプション

プル サブスクリプションでは、パブリッシャで変更を行うようにサブスクライバが要求します。プル サブスクリプションでは、サブスクライバのユーザーがデータの変更をいつ同期するかを指定できます。ディストリビューション エージェントまたはマージ エージェントはサブスクライバで実行されます。

  • 連続的ではなく、要求時またはスケジュールに基づいてデータを同期する場合
  • パブリケーションに多くのサブスクライバがある場合、またはリソースの消費が大きすぎてディストリビュータですべてのエージェントを実行できない場合 (またはその両方)
  • サブスクライバが独立しているか、接続解除されているか、またはモバイルである場合。サブスクライバでは、いつ接続して変更を同期するかが決定されます。
  • マージ レプリケーションで最も頻繁に使用する場合

マージ レプリケーション サブスクリプションの種類

すべての種類のレプリケーションでプッシュ サブスクリプションとプル サブスクリプションが使用できます。マージ レプリケーションでは、サブスクリプションを区別するために 2 つの用語 (クライアント サブスクリプションとサーバー サブスクリプション) を追加で使用します。クライアント サブスクリプションとサーバー サブスクリプションのどちらの種類も、プッシュ サブスクリプションとプル サブスクリプションで使用できます。クライアント サブスクリプションはほとんどのサブスクライバに適していますが、サーバー サブスクリプションは通常、データを他のサブスクライバに再パブリッシュするサブスクライバで使用されます。サブスクリプションの選択は、競合の解決にも影響します。サブスクリプションの種類の詳細については、「マージ レプリケーションで競合を検出および解決する方法」の「サブスクリプションの種類」を参照してください。サブスクリプションの作成後にその種類を変更することはできません。

SQL Server 以外のサブスクライバ

Oracle および IBM DB2 は、プッシュ サブスクリプションを使用してスナップショット パブリケーションとトランザクション パブリケーションをサブスクライブできます。詳細については、「SQL Server 以外のサブスクライバ」を参照してください。

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

サブスクリプションを作成するには、次の情報を指定します。

  • パブリケーションの名前
  • サブスクライバとサブスクリプション データベースの名前
  • ディストリビューション エージェントまたはマージ エージェントをディストリビュータとサブスクライバのどちらで実行するか
  • ディストリビューション エージェントまたはマージ エージェントを、連続的、スケジュール、要求時のどの方法に基づいて実行するか
  • スナップショット エージェントがサブスクリプションの初期スナップショットを作成するかどうか、およびディストリビューション エージェントまたはマージ エージェントがそのスナップショットをサブスクライバで適用するかどうか
  • ディストリビューション エージェントまたはマージ エージェントを実行するときに使用するアカウント
  • マージ レプリケーションの場合は、サブスクリプションの種類 (サーバーまたはクライアント)

プッシュ サブスクリプションを作成するには

プッシュ サブスクリプションのプロパティを表示または変更するには

プッシュ サブスクリプションを削除するには

ms151170.note(ja-jp,SQL.90).gifメモ :
サブスクリプションを削除しても、パブリッシュされたオブジェクトはサブスクライバから削除されません。

プル サブスクリプションを作成するには

プル サブスクリプションのプロパティを表示または変更するには

プル サブスクリプションを削除するには

参照

概念

サブスクライバの保護
サブスクリプションの有効期限と非アクティブ化

その他の技術情報

レプリケーションの実装

ヘルプおよび情報

SQL Server 2005 の参考資料の入手