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

このトピックでは、SQL Server Management Studio、Transact-SQL、またはレプリケーション管理オブジェクト (RMO) を使用して、SQL Server 2014 でプル サブスクリプションのプロパティを表示および変更する方法について説明します。

このトピックの内容

SQL Server Management Studio を使用する

[サブスクリプションのプロパティ - <>パブリッシャー: <PublicationDatabase>] ダイアログ ボックスで、パブリッシャーまたはサブスクライバーからのプル サブスクリプション プロパティを表示します。このダイアログ ボックスは、SQL Server Management Studioから使用できます。 その他のプロパティはサブスクライバーから表示でき、サブスクライバーで変更できます。 パブリッシャーからも、レプリケーション モニターの [すべてのサブスクリプション] タブでプロパティを表示できます。 レプリケーション モニターの起動の詳細については、「Start the Replication Monitor」 (レプリケーション モニターの開始) を参照してください。

Management Studio でパブリッシャーからのプル サブスクリプション プロパティを表示するには

  1. Management Studioでパブリッシャーに接続し、サーバー ノードを展開します。

  2. [レプリケーション] フォルダーを展開し、 [ローカル パブリケーション] フォルダーを展開します。

  3. 適切なパブリケーションを展開し、サブスクリプションを右クリックして、 [プロパティ] をクリックします。

  4. プロパティを表示して [OK] をクリックします。

Management Studio でサブスクライバーからのプル サブスクリプション プロパティを表示および変更するには

  1. Management Studioでサブスクライバーに接続して、サーバー ノードを展開します。

  2. [レプリケーション] フォルダーを展開し、 [ローカル サブスクリプション] フォルダーを展開します。

  3. サブスクリプションを右クリックし、 [プロパティ] をクリックします。

  4. 必要に応じてプロパティを変更し、 [OK] をクリックします。

レプリケーション モニターでパブリッシャーからのプル サブスクリプション プロパティを表示するには

  1. レプリケーション モニターの左ペインのパブリッシャー グループを展開し、パブリッシャーを展開して、パブリケーションをクリックします。

  2. [すべてのサブスクリプション] タブをクリックします。

  3. サブスクリプションを右クリックし、 [プロパティ] をクリックします。

  4. プロパティを表示して [OK] をクリックします。

Transact-SQL の使用

レプリケーション ストアド プロシージャを使用して、プル サブスクリプションを変更し、そのプロパティにプログラムからアクセスできます。 使用するストアド プロシージャは、サブスクリプションが属するパブリケーションの種類によって異なります。

スナップショット パブリケーションまたはトランザクション パブリケーションに対するプル サブスクリプションのプロパティを表示するには

  1. サブスクライバーで、 sp_helppullsubscriptionを実行します。 @publisher@publisher_dbおよび@publicationを指定します。 これにより、サブスクライバーのシステム テーブルに格納されている、サブスクリプションに関する情報が返されます。

  2. サブスクライバーで、 sp_helpsubscription_propertiesを実行します。 @publisher@publisher_db@publicationを指定します。さらに @publication_typeに、次のいずれかの値を指定します。

    • 0 - サブスクリプションがトランザクション パブリケーションに属します。

    • 1 - サブスクリプションがスナップショット パブリケーションに属します。

  3. パブリッシャーで、 sp_helpsubscriptionを実行します。 @publicationと@subscriberを指定します

  4. パブリッシャーで、 @subscriberを指定して、 sp_helpsubscriberinfoを実行します。 これにより、サブスクライバーに関する情報が表示されます。

スナップショット パブリケーションまたはトランザクション パブリケーションに対するプル サブスクリプションのプロパティを変更するには

  1. サブスクライバーで、 sp_change_subscription_propertiesを実行します。 @publisher@publisher_db@publicationを指定し、 @publication_type0 (トランザクション) または 1(スナップショット) を指定します。変更するサブスクリプション プロパティを @propertyに、新しい値を @valueに指定します。

  2. (省略可) サブスクライバー側のサブスクリプション データベースに対して、 sp_changesubscriptiondtsinfoを実行します。 ディストリビューション エージェント ジョブの ID を @jobidに指定し、次のデータ変換サービス (DTS) パッケージ プロパティを指定します。

    • @dts_package_name

    • @dts_package_password

    • @dts_package_location

    これにより、サブスクリプションの DTS パッケージ プロパティが変更されます。

    Note

    ジョブ ID は、 sp_helpsubscriptionを実行することで取得できます。

マージ パブリケーションに対するプル サブスクリプションのプロパティを表示するには

  1. サブスクライバーで、 sp_helpmergepullsubscriptionを実行します。 @publisher@publisher_dbおよび@publicationを指定します。

  2. サブスクライバーで、 sp_helpsubscription_propertiesを実行します。 @publisher@publisher_db@publicationを指定します。さらに @publication_typeに 2 を指定します。

  3. パブリッシャーで sp_helpmergesubscription を実行し、サブスクリプション情報を表示します。 特定のサブスクリプションに関する情報を取得するには、 @publication@subscriberを指定し、 @subscription_typepullを指定する必要があります。

  4. パブリッシャーで、 @subscriberを指定して、 sp_helpsubscriberinfoを実行します。 これにより、サブスクライバーに関する情報が表示されます。

マージ パブリケーションに対するプル サブスクリプションのプロパティを変更するには

  1. サブスクライバーで、 sp_changemergepullsubscriptionを実行します。 @publication@publisher@publisher_dbを指定し、変更するサブスクリプション プロパティを @propertyに、新しい値を @valueに指定します。

レプリケーション管理オブジェクト (RMO) の使用

プル サブスクリプションのプロパティを表示または変更する際に使用する RMO のクラスは、プル サブスクリプションがサブスクライブされるパブリケーションの種類によって異なります。

スナップショット パブリケーションまたはトランザクション パブリケーションのプル サブスクリプションのプロパティを表示または変更するには

  1. ServerConnection クラスを使用して、サブスクライバーへの接続を作成します。

  2. TransPullSubscription クラスのインスタンスを作成します。

  3. PublicationNameDatabaseNamePublisherNamePublicationDBName の各プロパティを設定します。

  4. 手順 1. で作成した接続を ConnectionContext プロパティに設定します。

  5. LoadProperties メソッドを呼び出して、オブジェクトのプロパティを取得します。 このメソッドから false が返された場合、手順 3. で指定したサブスクリプションのプロパティが正しく定義されていないか、サブスクリプションがサーバー上に存在していません。

  6. (省略可) プロパティを変更するには、 TransPullSubscription の設定可能なプロパティに新しい値を設定し、 CommitPropertyChanges メソッドを呼び出します。

  7. (省略可) 新しい設定を表示するには、 Refresh メソッドを呼び出して、アーティクルのプロパティを再読み込みします。

  8. すべての接続を閉じます。

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

  1. ServerConnection クラスを使用して、サブスクライバーへの接続を作成します。

  2. MergePullSubscription クラスのインスタンスを作成します。

  3. PublicationNameDatabaseNamePublisherNamePublicationDBName の各プロパティを設定します。

  4. 手順 1. で作成した接続を ConnectionContext プロパティに設定します。

  5. LoadProperties メソッドを呼び出して、オブジェクトのプロパティを取得します。 このメソッドから false が返された場合、手順 3. で指定したサブスクリプションのプロパティが正しく定義されていないか、サブスクリプションがサーバー上に存在していません。

  6. (省略可) プロパティを変更するには、 MergePullSubscription の設定可能なプロパティに新しい値を設定し、 CommitPropertyChanges メソッドを呼び出します。

  7. (省略可) 新しい設定を表示するには、 Refresh メソッドを呼び出して、アーティクルのプロパティを再読み込みします。

  8. すべての接続を閉じます。

参照

レプリケーション モニターを使用した情報の表示とタスクの実行
レプリケーション セキュリティの推奨事項
パブリケーションのサブスクライブ