プル サブスクリプションのプロパティの表示または変更
適用対象: SQL Server Azure SQL Managed Instance
このトピックでは、SQL Server Management Studio、Transact-SQL、またはレプリケーション管理オブジェクト (RMO) を使用して SQL Server のプル サブスクリプション プロパティを表示および変更する方法について説明します。
このトピックの内容
プル サブスクリプションのプロパティを表示および変更するために使用するもの:
SQL Server Management Studio を使用する
パブリッシャーまたはサブスクライバーからのプル サブスクリプションのプロパティは、[サブスクリプションのプロパティ - <Publisher>: <PublicationDatabase>] ダイアログ ボックスで表示します。このダイアログ ボックスは SQL Server Management Studio から使用できます。 その他のプロパティはサブスクライバーから表示でき、サブスクライバーで変更できます。 パブリッシャーからも、レプリケーション モニターの [すべてのサブスクリプション] タブでプロパティを表示できます。 レプリケーション モニターの起動の詳細については、「Start the Replication Monitor」 (レプリケーション モニターの開始) を参照してください。
Management Studio でパブリッシャーからのプル サブスクリプション プロパティを表示するには
Management Studio でパブリッシャーに接続し、サーバー ノードを展開します。
[レプリケーション] フォルダーを展開し、 [ローカル パブリケーション] フォルダーを展開します。
適切なパブリケーションを展開し、サブスクリプションを右クリックして、 [プロパティ]をクリックします。
プロパティを表示して [OK]をクリックします。
Management Studio でサブスクライバーからのプル サブスクリプション プロパティを表示および変更するには
Management Studio でサブスクライバ―に接続し、サーバー ノードを展開します。
[レプリケーション] フォルダーを展開し、 [ローカル サブスクリプション] フォルダーを展開します。
サブスクリプションを右クリックし、 [プロパティ]をクリックします。
必要に応じてプロパティを変更し、 [OK]をクリックします。
レプリケーション モニターでパブリッシャーからのプル サブスクリプション プロパティを表示するには
レプリケーション モニターの左ペインのパブリッシャー グループを展開し、パブリッシャーを展開して、パブリケーションをクリックします。
[すべてのサブスクリプション] タブをクリックします。
サブスクリプションを右クリックし、 [プロパティ]をクリックします。
プロパティを表示して [OK]をクリックします。
Transact-SQL の使用
レプリケーション ストアド プロシージャを使用して、プル サブスクリプションを変更し、そのプロパティにプログラムからアクセスできます。 使用するストアド プロシージャは、サブスクリプションが属するパブリケーションの種類によって異なります。
スナップショット パブリケーションまたはトランザクション パブリケーションに対するプル サブスクリプションのプロパティを表示するには
サブスクライバーで、 sp_helppullsubscriptionを実行します。
@publisher
、@publisher_db
、および@publication
を指定します。 これにより、サブスクライバーのシステム テーブルに格納されている、サブスクリプションに関する情報が返されます。サブスクライバーで、 sp_helpsubscription_propertiesを実行します。
@publisher
、@publisher_db
、@publication
を指定し、@publication_type
に次のいずれかの値を指定します。0 - サブスクリプションがトランザクション パブリケーションに属します。
1 - サブスクリプションがスナップショット パブリケーションに属します。
パブリッシャーで、 sp_helpsubscriptionを実行します。
@publication
および@subscriber
を指定します。パブリッシャーで、
@subscriber
を指定して sp_helpsubscriberinfo を実行します。 これにより、サブスクライバーに関する情報が表示されます。
スナップショット パブリケーションまたはトランザクション パブリケーションに対するプル サブスクリプションのプロパティを変更するには
サブスクライバーで、sp_change_subscription_properties を実行します。
@publisher
、@publisher_db
、@publication
を指定し、@publication_type
には 0 (トランザクション) または 1(スナップショット) を指定し、@property
として変更するサブスクリプション プロパティを、@value
として新しい値を指定します。(省略可) サブスクライバー側のサブスクリプション データベースに対して、 sp_changesubscriptiondtsinfoを実行します。 ディストリビューション エージェント ジョブの ID を
@jobid
に指定し、次のデータ変換サービス (DTS) パッケージ プロパティを指定します。@dts_package_name
dts_package_password
@dts_package_location
これにより、サブスクリプションの DTS パッケージ プロパティが変更されます。
Note
ジョブ ID は、 sp_helpsubscriptionを実行することで取得できます。
マージ パブリケーションに対するプル サブスクリプションのプロパティを表示するには
サブスクライバーで、 sp_helpmergepullsubscriptionを実行します。
@publisher
、@publisher_db
、および@publication
を指定します。サブスクライバーで、 sp_helpsubscription_propertiesを実行します。
@publisher
、@publisher_db
、@publication
を指定し、@publication_type
に値 2 を指定します。パブリッシャーで sp_helpmergesubscription を実行し、サブスクリプション情報を表示します。 特定のサブスクリプションに関する情報を取得するには、
@publication
と@subscriber
を指定し、@subscription_type に対して値 pull を指定する必要があります。パブリッシャーで、
@subscriber
を指定して sp_helpsubscriberinfo を実行します。 これにより、サブスクライバーに関する情報が表示されます。
マージ パブリケーションに対するプル サブスクリプションのプロパティを変更するには
- サブスクライバーで、 sp_changemergepullsubscriptionを実行します。
@publication
、@publisher
、@publisher_db
を指定し、@property
には変更するサブスクリプション プロパティを、@value
には新しい値を指定します。
レプリケーション管理オブジェクト (RMO) の使用
プル サブスクリプションのプロパティを表示または変更する際に使用する RMO のクラスは、プル サブスクリプションがサブスクライブされるパブリケーションの種類によって異なります。
スナップショット パブリケーションまたはトランザクション パブリケーションのプル サブスクリプションのプロパティを表示または変更するには
ServerConnection クラスを使用して、サブスクライバーへの接続を作成します。
TransPullSubscription クラスのインスタンスを作成します。
PublicationName、 DatabaseName、 PublisherName、 PublicationDBName の各プロパティを設定します。
手順 1. で作成した接続を ConnectionContext プロパティに設定します。
LoadProperties メソッドを呼び出して、オブジェクトのプロパティを取得します。 このメソッドから falseが返された場合、手順 3. で指定したサブスクリプションのプロパティが正しく定義されていないか、サブスクリプションがサーバー上に存在していません。
(省略可) プロパティを変更するには、 TransPullSubscription の設定可能なプロパティに新しい値を設定し、 CommitPropertyChanges メソッドを呼び出します。
(省略可) 新しい設定を表示するには、 Refresh メソッドを呼び出して、アーティクルのプロパティを再読み込みします。
すべての接続を閉じます。
マージ パブリケーションのプル サブスクリプションのプロパティを表示または変更するには
ServerConnection クラスを使用して、サブスクライバーへの接続を作成します。
MergePullSubscription クラスのインスタンスを作成します。
PublicationName、 DatabaseName、 PublisherName、 PublicationDBName の各プロパティを設定します。
手順 1. で作成した接続を ConnectionContext プロパティに設定します。
LoadProperties メソッドを呼び出して、オブジェクトのプロパティを取得します。 このメソッドから falseが返された場合、手順 3. で指定したサブスクリプションのプロパティが正しく定義されていないか、サブスクリプションがサーバー上に存在していません。
(省略可) プロパティを変更するには、 MergePullSubscription の設定可能なプロパティに新しい値を設定し、 CommitPropertyChanges メソッドを呼び出します。
(省略可) 新しい設定を表示するには、 Refresh メソッドを呼び出して、アーティクルのプロパティを再読み込みします。
すべての接続を閉じます。