パブリケーションのサブスクライブ
サブスクリプションとは、パブリケーションのデータとデータベース オブジェクトのコピーを要求することです。サブスクリプションでは、受信するパブリケーションおよびパブリケーションの受信場所と受信時間が定義されます。サブスクリプションを設計する場合は、エージェント処理を実行する場所を考慮してください。選択したサブスクリプションの種類に応じて、エージェントを実行する場所が決まります。マージ エージェントまたはディストリビューション エージェントは、プッシュ サブスクリプションではディストリビュータで実行されますが、プル サブスクリプションではサブスクライバで実行されます。サブスクリプションの作成後にその種類を変更することはできません。
サブスクリプション | 特性 | いつ使用するか |
---|---|---|
プッシュ サブスクリプション |
プッシュ サブスクリプションでは、サブスクライバからの要求なしにパブリッシャが変更をサブスクライバに反映します。変更は、要求時、連続的、スケジュールのいずれかの方法に基づいて、サブスクライバにプッシュできます。ディストリビューション エージェントまたはマージ エージェントはディストリビュータで実行されます。 |
|
プル サブスクリプション |
プル サブスクリプションでは、パブリッシャで変更を行うようにサブスクライバが要求します。プル サブスクリプションでは、サブスクライバのユーザーがデータの変更をいつ同期するかを指定できます。ディストリビューション エージェントまたはマージ エージェントはサブスクライバで実行されます。 |
|
マージ レプリケーション サブスクリプションの種類
すべての種類のレプリケーションでプッシュ サブスクリプションとプル サブスクリプションが使用できます。マージ レプリケーションでは、サブスクリプションを区別するために 2 つの用語 (クライアント サブスクリプションとサーバー サブスクリプション) を追加で使用します。クライアント サブスクリプションとサーバー サブスクリプションのどちらの種類も、プッシュ サブスクリプションとプル サブスクリプションで使用できます。クライアント サブスクリプションはほとんどのサブスクライバに適していますが、サーバー サブスクリプションは通常、データを他のサブスクライバに再パブリッシュするサブスクライバで使用されます。サブスクリプションの選択は、競合の解決にも影響します。サブスクリプションの種類の詳細については、「マージ レプリケーションで競合を検出および解決する方法」の「サブスクリプションの種類」を参照してください。サブスクリプションの作成後にその種類を変更することはできません。
SQL Server 以外のサブスクライバ
Oracle および IBM DB2 は、プッシュ サブスクリプションを使用してスナップショット パブリケーションとトランザクション パブリケーションをサブスクライブできます。詳細については、「SQL Server 以外のサブスクライバ」を参照してください。
サブスクリプションの作成
サブスクリプションを作成するには、次の情報を指定します。
- パブリケーションの名前
- サブスクライバとサブスクリプション データベースの名前
- ディストリビューション エージェントまたはマージ エージェントをディストリビュータとサブスクライバのどちらで実行するか
- ディストリビューション エージェントまたはマージ エージェントを、連続的、スケジュール、要求時のどの方法に基づいて実行するか
- スナップショット エージェントがサブスクリプションの初期スナップショットを作成するかどうか、およびディストリビューション エージェントまたはマージ エージェントがそのスナップショットをサブスクライバで適用するかどうか
- ディストリビューション エージェントまたはマージ エージェントを実行するときに使用するアカウント
- マージ レプリケーションの場合は、サブスクリプションの種類 (サーバーまたはクライアント)
プッシュ サブスクリプションを作成するには
- SQL Server Management Studio: プッシュ サブスクリプションを作成する方法 (SQL Server Management Studio)
- レプリケーション Transact-SQL プログラミング : プッシュ サブスクリプションを作成する方法 (レプリケーション Transact-SQL プログラミング)
- レプリケーション管理オブジェクト (RMO) プログラミング : プッシュ サブスクリプションを作成する方法 (RMO プログラミング)
プッシュ サブスクリプションのプロパティを表示または変更するには
- SQL Server Management Studio: プッシュ サブスクリプションのプロパティを表示および変更する方法 (SQL Server Management Studio)
- レプリケーション Transact-SQL プログラミング : プッシュ サブスクリプションのプロパティを表示および変更する方法 (レプリケーション Transact-SQL プログラミング)
- RMO プログラミング : プッシュ サブスクリプションのプロパティを表示および変更する方法 (RMO プログラミング)
プッシュ サブスクリプションを削除するには
- SQL Server Management Studio: プッシュ サブスクリプションを削除する方法 (SQL Server Management Studio)
- レプリケーション Transact-SQL プログラミング : プッシュ サブスクリプションを削除する方法 (レプリケーション Transact-SQL プログラミング)
- RMO プログラミング : プッシュ サブスクリプションを削除する方法 (RMO プログラミング)
メモ : |
---|
サブスクリプションを削除しても、パブリッシュされたオブジェクトはサブスクライバから削除されません。 |
プル サブスクリプションを作成するには
- SQL Server Management Studio: プル サブスクリプションを作成する方法 (SQL Server Management Studio)
- レプリケーション Transact-SQL プログラミング : プル サブスクリプションを作成する方法 (レプリケーション Transact-SQL プログラミング)
- RMO プログラミング : プル サブスクリプションを作成する方法 (RMO プログラミング)
プル サブスクリプションのプロパティを表示または変更するには
- SQL Server Management Studio: プル サブスクリプションのプロパティを表示および変更する方法 (SQL Server Management Studio)
- レプリケーション Transact-SQL プログラミング : プル サブスクリプションのプロパティを表示および変更する方法 (レプリケーション Transact-SQL プログラミング)
- RMO プログラミング : プル サブスクリプションのプロパティを表示および変更する方法 (RMO プログラミング)
プル サブスクリプションを削除するには
- SQL Server Management Studio: プル サブスクリプションを削除する方法 (SQL Server Management Studio)
- レプリケーション Transact-SQL プログラミング : プル サブスクリプションを削除する方法 (レプリケーション Transact-SQL プログラミング)
- RMO プログラミング : プル サブスクリプションを削除する方法 (RMO プログラミング)
参照
概念
サブスクライバの保護
サブスクリプションの有効期限と非アクティブ化