プッシュ サブスクリプションのプロパティの表示または変更
このトピックでは、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 でプッシュ サブスクリプション プロパティを表示および変更するには
Management Studioでパブリッシャーに接続し、サーバー ノードを展開します。
[レプリケーション] フォルダーを展開し、 [ローカル パブリケーション] フォルダーを展開します。
適切なパブリケーションを展開し、サブスクリプションを右クリックして、 [プロパティ] をクリックします。
必要に応じてプロパティを変更し、 [OK] をクリックします。
レプリケーション モニターでプッシュ サブスクリプション プロパティを表示および変更するには
レプリケーション モニターの左ペインのパブリッシャー グループを展開し、パブリッシャーを展開して、パブリケーションをクリックします。
[すべてのサブスクリプション] タブをクリックします。
サブスクリプションを右クリックし、 [プロパティ] をクリックします。
必要に応じてプロパティを変更し、 [OK] をクリックします。
Transact-SQL の使用
プッシュ サブスクリプションのプロパティは、レプリケーションのストアド プロシージャを使用して、プログラムから変更できます。 使用するストアド プロシージャは、サブスクリプションが属するパブリケーションの種類によって異なります。
スナップショット パブリケーションまたはトランザクション パブリケーションのプッシュ サブスクリプションのプロパティを表示するには
パブリッシャーのパブリケーション データベースで sp_helpsubscriptionを実行します。 @article@publication、@subscriber、および all の値を指定します。
パブリッシャー側のパブリケーション データベースで、@subscriberを指定してsp_helpsubscriberinfoを実行します。
スナップショット パブリケーションまたはトランザクション パブリケーションのプッシュ サブスクリプションのプロパティを変更するには
パブリッシャー側のパブリケーション データベースで、 @subscriberと変更するサブスクライバー プロパティのパラメーターを指定して、 sp_changesubscriber を実行します。
パブリッシャーのパブリケーション データベースで sp_changesubscriptionを実行します。 @publication、@subscriber、@destination_db、@articleのすべての値、@propertyとして変更されるサブスクリプション プロパティ、新しい値を@valueとして指定します。 これにより、プッシュ サブスクリプションのセキュリティ設定が変更されます。
(省略可) サブスクリプションのデータ変換サービス (DTS) パッケージのプロパティを変更するには、サブスクライバーのサブスクリプション データベースで sp_changesubscriptiondtsinfo を実行します。 @jobidのディストリビューション エージェント ジョブの ID と、次の DTS パッケージ プロパティを指定します。
@dts_package_name
@dts_package_password
@dts_package_location
これにより、サブスクリプションの DTS パッケージ プロパティが変更されます。
Note
ジョブ ID は、 sp_helpsubscriptionを実行することで取得できます。
マージ パブリケーションのプッシュ サブスクリプションのプロパティを表示するには
パブリッシャーのパブリケーション データベースで sp_helpmergesubscriptionを実行します。 @publicationと@subscriberを指定します。
パブリッシャーで、@subscriberを指定してsp_helpsubscriberinfoを実行します。
マージ パブリケーションのプッシュ サブスクリプションのプロパティを変更するには
- パブリッシャーのパブリケーション データベースで sp_changemergesubscriptionを実行します。 @publication、@subscriber、@subscriber_db、@propertyとして変更されるサブスクリプション プロパティ、新しい値を@valueとして指定します。
例 (Transact-SQL)
レプリケーション管理オブジェクト (RMO) の使用
プッシュ サブスクリプション プロパティの表示や変更に使用する RMO クラスは、プッシュ サブスクリプションをサブスクライブするパブリケーションの種類によって異なります。
スナップショット パブリケーションまたはトランザクション パブリケーションに対するプッシュ サブスクリプションのプロパティを表示または変更するには
ServerConnection クラスを使用して、パブリッシャーへの接続を作成します。
TransSubscription クラスのインスタンスを作成します。
PublicationName、 DatabaseName、 SubscriberName、 SubscriptionDBName の各プロパティを設定します。
ServerConnection プロパティ設定に、手順 1. の ConnectionContext を設定します。
LoadProperties メソッドを呼び出して、オブジェクトのプロパティを取得します。 このメソッドから
false
が返された場合、手順 3. で指定したサブスクリプションのプロパティが正しく定義されていないか、サブスクリプションが存在していません。(省略可) プロパティを変更するには、 TransSubscription の設定可能なプロパティに新しい値を設定し、 CommitPropertyChanges メソッドを呼び出します。
(省略可) 新しい設定を表示するには、 Refresh メソッドを呼び出して、サブスクリプションのプロパティを再読み込みします。
マージ パブリケーションに対するプッシュ サブスクリプションのプロパティを表示または変更するには
ServerConnection クラスを使用して、サブスクライバーへの接続を作成します。
MergeSubscription クラスのインスタンスを作成します。
PublicationName、 DatabaseName、 SubscriberName、 SubscriptionDBName の各プロパティを設定します。
ServerConnection プロパティ設定に、手順 1. の ConnectionContext を設定します。
LoadProperties メソッドを呼び出して、オブジェクトのプロパティを取得します。 このメソッドから
false
が返された場合、手順 3. で指定したサブスクリプションのプロパティが正しく定義されていないか、サブスクリプションが存在していません。(省略可) プロパティを変更するには、 MergeSubscription の設定可能なプロパティに新しい値を設定し、 CommitPropertyChanges メソッドを呼び出します。
(省略可) 新しい設定を表示するには、 Refresh メソッドを呼び出して、サブスクリプションのプロパティを再読み込みします。
参照
レプリケーション モニターを使用した情報の表示とタスクの実行
レプリケーション セキュリティの推奨事項
パブリケーションのサブスクライブ