プル サブスクリプションのプロパティの表示または変更
このトピックでは、SQL Server 2012 で SQL Server Management Studio、Transact-SQL、またはレプリケーション管理オブジェクト (RMO) を使用して、プル サブスクリプションのプロパティを表示および変更する方法について説明します。
このトピックの内容
プル サブスクリプションのプロパティを表示および変更するために使用するもの:
SQL Server Management Studio
Transact-SQL
レプリケーション管理オブジェクト (RMO)
SQL Server Management Studio の使用
パブリッシャーまたはサブスクライバーからのプル サブスクリプションのプロパティは [サブスクリプションのプロパティ - <Publisher>: <PublicationDatabase>] ダイアログ ボックスで表示します。このダイアログ ボックスは SQL Server Management Studio から表示できます。 その他のプロパティはサブスクライバーから表示でき、サブスクライバーで変更できます。 パブリッシャーからも、レプリケーション モニターの [すべてのサブスクリプション] タブでプロパティを表示できます。 レプリケーション モニターの起動の詳細については、「レプリケーション モニターの開始」を参照してください。
Management Studio でパブリッシャーからのプル サブスクリプション プロパティを表示するには
Management Studio でパブリッシャーに接続し、サーバー ノードを展開します。
[レプリケーション] フォルダーを展開し、[ローカル パブリケーション] フォルダーを展開します。
適切なパブリケーションを展開し、サブスクリプションを右クリックして、[プロパティ] をクリックします。
プロパティを表示して [OK] をクリックします。
Management Studio でサブスクライバーからのプル サブスクリプション プロパティを表示および変更するには
Management Studio でサブスクライバーに接続して、サーバー ノードを展開します。
[レプリケーション] フォルダーを展開し、[ローカル サブスクリプション] フォルダーを展開します。
サブスクリプションを右クリックし、[プロパティ] をクリックします。
必要に応じてプロパティを変更し、[OK] をクリックします。
レプリケーション モニターでパブリッシャーからのプル サブスクリプション プロパティを表示するには
レプリケーション モニターの左ペインのパブリッシャー グループを展開し、パブリッシャーを展開して、パブリケーションをクリックします。
[すべてのサブスクリプション] タブをクリックします。
サブスクリプションを右クリックし、[プロパティ] をクリックします。
プロパティを表示して [OK] をクリックします。
[Top]
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 パッケージ プロパティが変更されます。
注 ジョブ 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 に指定します。
[Top]
レプリケーション管理オブジェクト (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 メソッドを呼び出して、アーティクルのプロパティを再読み込みします。
すべての接続を閉じます。
[Top]
関連項目
タスク
サブスクリプションの情報を表示し、タスクを実行する (レプリケーション モニター)