出版物の購読

適用対象:SQL ServerAzure SQL データベース

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

注

Azure SQL Managed Instance は、スナップショットおよびトランザクション レプリケーションのパブリッシャー、ディストリビューター、およびサブスクライバーの可能性があります。 Azure SQL Database のデータベースは、スナップショットとトランザクション レプリケーションのプッシュ サブスクライバーの可能性しかありません。 詳細については、Azure SQL Database および Azure SQL Managed Instance を使用したトランザクションのレプリケーションに関するページを参照してください。

サブスクリプション 特性 使用する場合
プッシュ通知の購読 プッシュ サブスクリプションでは、サブスクライバーからの要求なしにパブリッシャーが変更をサブスクライバーに反映します。 変更は、要求時、連続的、スケジュールのいずれかの方法に基づいて、サブスクライバーにプッシュできます。 ディストリビューション エージェントまたはマージ エージェントはディストリビューターで実行されます。 データは通常、継続的に、または高い頻度で繰り返されるスケジュールに従って同期されます。

パブリケーションがほぼリアルタイムのデータの移動を必要とする場合

ディストリビューターのプロセッサのオーバーヘッドが高くなってもパフォーマンスに影響しない場合

スナップショット レプリケーションおよびトランザクション レプリケーションで最もよく使用されます。
プル サブスクリプション プル サブスクリプションでは、パブリッシャーで変更を行うようにサブスクライバーが要求します。 プル サブスクリプションでは、サブスクライバーのユーザーがデータの変更をいつ同期するかを指定できます。 ディストリビューション エージェントまたはマージ エージェントはサブスクライバーで実行されます。 データは通常、継続的に同期されるのではなく、オンデマンドまたはスケジュールに従って同期されます。

パブリケーションに多くのサブスクライバーがある場合、またはリソースの消費が大きすぎてディストリビューターですべてのエージェントを実行できない場合 (またはその両方)

サブスクライバーが独立しているか、接続解除されているか、またはモバイルである場合。 サブスクライバーでは、いつ接続して変更を同期するかが決定されます。

マージ レプリケーションで最もよく使用される。

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

すべての種類のレプリケーションでプッシュ サブスクリプションとプル サブスクリプションが使用できます。 マージ レプリケーションでは、2 つのサブスクリプションを区別するために、クライアント サブスクリプションとサーバー サブスクリプションという語を使用します。 クライアント サブスクリプションとサーバー サブスクリプションのどちらの種類も、プッシュ サブスクリプションとプル サブスクリプションで使用できます。 クライアント サブスクリプションはほとんどのサブスクライバーに適していますが、サーバー サブスクリプションは通常、データを他のサブスクライバーに再パブリッシュするサブスクライバーで使用されます。 サブスクリプションの選択は、競合の解決にも影響します。

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

OracleやIBM Db2はプッシュサブスクリプションを利用してスナップショットやトランザクション出版物に購読できます。 詳細については、「 Non-SQL Server Subscribers」を参照してください。

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

購読を作成するには、以下の情報を提供します。

  • 出版物の名前。

  • サブスクライバーとサブスクリプション データベースの名前

  • ディストリビューション エージェントまたはマージ エージェントをディストリビューターとサブスクライバーのどちらで実行するか

  • ディストリビューション エージェントまたはマージ エージェントを、継続的に実行するか、スケジュールに従って実行するか、または要求時のみ実行するかどうか

  • スナップショット エージェントがサブスクリプションの初期スナップショットを作成するかどうか、およびディストリビューション エージェントまたはマージ エージェントがそのスナップショットをサブスクライバーで適用するかどうか

  • ディストリビューション エージェントまたはマージ エージェントが動作するアカウント。

  • マージ レプリケーションの場合、サブスクリプションの種類はサーバーとクライアントです。

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

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

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

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

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

SQL Server Management Studio: プッシュ サブスクリプションの削除

注

購読を削除しても、購読者から公開されたオブジェクトは削除されません。

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

SQL Server Management Studio: プル サブスクリプションの作成

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

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

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

プル サブスクリプションの削除