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