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

適用対象: はいSQL Server (サポートされているすべてのバージョン) はいAzure SQL Managed Instance

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

このトピックの内容

SQL Server Management Studio の使用

パブリッシャーまたはサブスクライバーからのプル サブスクリプションのプロパティは、SQL Server Management Studio から利用できる [サブスクリプションのプロパティ - <Publisher>: <PublicationDatabase>] ダイアログ ボックスで表示します。 その他のプロパティはサブスクライバーから表示でき、サブスクライバーで変更できます。 パブリッシャーからも、レプリケーション モニターの [すべてのサブスクリプション] タブでプロパティを表示できます。 レプリケーション モニターの起動の詳細については、「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_type には 0 (トランザクション) または 1(スナップショット) を指定し、@property として変更するサブスクリプション プロパティを、@value として新しい値を指定します。

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

    • @dts_package_name

    • dts_package_password

    • @dts_package_location

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

    注意

    ジョブ 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_type に対して値 pull を指定する必要があります。

  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. すべての接続を閉じます。

参照

レプリケーション モニターを使用して情報を表示し、タスクを実行する
Replication Security Best Practices
パブリケーションのサブスクライブ