このトピックでは、SQL Server Management Studio、Transact-SQL、またはレプリケーション管理オブジェクト (RMO) を使用して、SQL Server 2014 のプッシュ サブスクリプション プロパティを表示および変更する方法について説明します。
このトピックについて
次を使用して、プッシュ サブスクリプションのプロパティを表示および変更するには:
SQL Server Management Studio の使用
パブリッシャーのプッシュ サブスクリプション プロパティを表示および変更するには、次の場所を参照してください。
[サブスクリプションのプロパティ- <Publisher>: <PublicationDatabase>] ダイアログ ボックス。SQL Server Management Studio から入手できます。
[ すべてのサブスクリプション ] タブ。レプリケーション モニターで使用できます。 レプリケーション モニターの起動については、「レプリケーション モニターの起動」を参照してください。
Management Studio でプッシュ サブスクリプションのプロパティを表示および変更するには
Management Studio でパブリッシャーに接続し、サーバー ノードを展開します。
[レプリケーション] フォルダーを展開し、[ローカル パブリケーション] フォルダーを展開します。
適切なパブリケーションを展開し、サブスクリプションを右クリックし、[ プロパティ] をクリックします。
必要に応じてプロパティを変更し、[ OK] をクリックします。
レプリケーション モニターでプッシュ サブスクリプションのプロパティを表示および変更するには
レプリケーション モニターの左ペインのパブリッシャー グループを展開し、パブリッシャーを展開して、パブリケーションをクリックします。
[ すべてのサブスクリプション ] タブをクリックします。
サブスクリプションを右クリックし、[ プロパティ] をクリックします。
必要に応じてプロパティを変更し、[ OK] をクリックします。
Transact-SQL の使用
プッシュ サブスクリプションは、レプリケーション ストアド プロシージャを使用して変更し、そのプロパティにプログラムでアクセスできます。 使用されるストアド プロシージャは、サブスクリプションが属するパブリケーションの種類によって異なります。
スナップショットまたはトランザクション パブリケーションに対するプッシュ サブスクリプションのプロパティを表示するには
パブリッシャー側のパブリケーション データベースで、 sp_helpsubscriptionを実行します。 @publication、@subscriber、および all を@articleの値として指定します。
パブリッシャー側のパブリケーション データベースで、 sp_helpsubscriberinfoを実行し、 @subscriberを指定します。
プッシュ サブスクリプションのプロパティをスナップショット パブリケーションまたはトランザクション パブリケーションに変更するには
パブリッシャー側のパブリケーション データベースで、 @subscriberと変更するサブスクライバー プロパティのパラメーターを指定して、 sp_changesubscriber を実行します。
パブリッシャー側のパブリケーション データベースで、 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)
レプリケーション管理オブジェクト (RMO) の使用
プッシュ サブスクリプションのプロパティを表示または変更するために使用する RMO クラスは、プッシュ サブスクリプションがサブスクライブされるパブリケーションの種類によって異なります。
スナップショット パブリケーションまたはトランザクション パブリケーションへのプッシュ サブスクリプションのプロパティを表示または変更するには
ServerConnection クラスを使用してパブリッシャーへの接続を作成します。
TransSubscription クラスのインスタンスを作成します。
PublicationName、DatabaseName、SubscriberName、およびSubscriptionDBNameのプロパティを設定します。
手順 1で設定したServerConnectionをConnectionContextプロパティ設定として設定します。
LoadProperties メソッドを呼び出して、オブジェクトのプロパティを取得します。 このメソッドが
false
を返す場合、手順 3 のサブスクリプション プロパティが正しく定義されていないか、サブスクリプションが存在しません。(省略可能)プロパティを変更するには、設定できる TransSubscription プロパティの 1 つに新しい値を設定し、 CommitPropertyChanges メソッドを呼び出します。
(省略可能)新しい設定を表示するには、 Refresh メソッドを呼び出して、サブスクリプションのプロパティを再読み込みします。
マージ パブリケーションへのプッシュ サブスクリプションのプロパティを表示または変更するには
ServerConnection クラスを使用してサブスクライバーへの接続を作成します。
MergeSubscription クラスのインスタンスを作成します。
PublicationName、DatabaseName、SubscriberName、およびSubscriptionDBNameのプロパティを設定します。
手順1で設定するServerConnectionをConnectionContextプロパティとして設定します。
LoadProperties メソッドを呼び出して、オブジェクトのプロパティを取得します。 このメソッドが
false
を返す場合、手順 3 のサブスクリプション プロパティが正しく定義されていないか、サブスクリプションが存在しません。(省略可能)プロパティを変更するには、設定できる MergeSubscription プロパティの 1 つに新しい値を設定し、 CommitPropertyChanges メソッドを呼び出します。
(省略可能)新しい設定を表示するには、 Refresh メソッドを呼び出して、サブスクリプションのプロパティを再読み込みします。
こちらもご覧ください
レプリケーション モニターを使用した情報の表示とタスクの実行
レプリケーション のセキュリティに関するベスト プラクティス
パブリケーションを購読する