次の方法で共有


プッシュ サブスクリプションのプロパティの表示または変更

適用対象: SQL Server Azure SQL データベース

このトピックでは、SQL Server Management Studio、Transact-SQL、またはレプリケーション管理オブジェクト (RMO) を使用して SQL Server のプッシュ サブスクリプション プロパティを表示および変更する方法について説明します。

Note

Azure SQL Managed Instance は、スナップショットおよびトランザクション レプリケーションのパブリッシャー、ディストリビューター、およびサブスクライバーの可能性があります。 Azure SQL Database のデータベースは、スナップショットとトランザクション レプリケーションのプッシュ サブスクライバーの可能性しかありません。 詳細については、Azure SQL Database および Azure SQL Managed Instance を使用したトランザクションのレプリケーションに関するページを参照してください。

SQL Server Management Studio を使用する

プッシュ サブスクリプション プロパティを表示および変更するには、以下の方法があります。

  • [サブスクリプションのプロパティ - <Publisher>: <PublicationDatabase>] ダイアログ ボックス。このダイアログ ボックスは、SQL Server Management Studio から使用できます。

  • レプリケーション モニターの [すべてのサブスクリプション] タブ。 レプリケーション モニターの起動の詳細については、「Start the Replication Monitor」 (レプリケーション モニターの開始) を参照してください。

Management Studio でプッシュ サブスクリプション プロパティを表示および変更するには

  1. Management Studio でパブリッシャーに接続し、サーバー ノードを展開します。

  2. [レプリケーション] フォルダーを展開し、 [ローカル パブリケーション] フォルダーを展開します。

  3. 適切なパブリケーションを展開し、サブスクリプションを右クリックして、 [プロパティ]をクリックします。

  4. 必要に応じてプロパティを変更し、 [OK]をクリックします。

レプリケーション モニターでプッシュ サブスクリプション プロパティを表示および変更するには

  1. レプリケーション モニターの左ペインのパブリッシャー グループを展開し、パブリッシャーを展開して、パブリケーションをクリックします。

  2. [すべてのサブスクリプション] タブをクリックします。

  3. サブスクリプションを右クリックし、 [プロパティ]をクリックします。

  4. 必要に応じてプロパティを変更し、 [OK]をクリックします。

Transact-SQL の使用

プッシュ サブスクリプションのプロパティは、レプリケーションのストアド プロシージャを使用して、プログラムから変更できます。 使用するストアド プロシージャは、サブスクリプションが属するパブリケーションの種類によって異なります。

スナップショット パブリケーションまたはトランザクション パブリケーションのプッシュ サブスクリプションのプロパティを表示するには

  1. パブリッシャーのパブリケーション データベースで sp_helpsubscriptionを実行します。 @publication@subscriberを指定し、 @articleallを指定します。

  2. パブリッシャーのパブリケーション データベースで、 @subscriberを指定して sp_helpsubscriberinfoを実行します。

スナップショット パブリケーションまたはトランザクション パブリケーションのプッシュ サブスクリプションのプロパティを変更するには

  1. パブリッシャーのパブリケーション データベースで sp_changesubscriberを実行します。このとき、 @subscriber を指定し、さらに、変更対象とするサブスクライバー プロパティのパラメーターをすべて指定します。

  2. パブリッシャーのパブリケーション データベースで sp_changesubscriptionを実行します。 @publication@subscriber、および @destination_dbを指定し、 @article には allを、 @propertyには変更対象のサブスクリプション プロパティを、 @valueには新しい値を指定します。 これにより、プッシュ サブスクリプションのセキュリティ設定が変更されます。

  3. (省略可) サブスクリプションのデータ変換サービス (DTS) パッケージのプロパティを変更するには、サブスクライバーのサブスクリプション データベースで sp_changesubscriptiondtsinfo を実行します。 @jobid にディストリビューション エージェント ジョブの ID を指定し、さらに、次の DTS パッケージ プロパティを指定します。

    • @dts_package_name

    • @dts_package_password

    • @dts_package_location

    これにより、サブスクリプションの DTS パッケージ プロパティが変更されます。

    Note

    ジョブ ID は、 sp_helpsubscriptionを実行することで取得できます。

マージ パブリケーションのプッシュ サブスクリプションのプロパティを表示するには

  1. パブリッシャーのパブリケーション データベースで sp_helpmergesubscriptionを実行します。 @publication@subscriberを指定します。

  2. パブリッシャーで、 @subscriberを指定して sp_helpsubscriberinfoを実行します。

マージ パブリケーションのプッシュ サブスクリプションのプロパティを変更するには

  1. パブリッシャーのパブリケーション データベースで sp_changemergesubscriptionを実行します。 @publication@subscriber、および @subscriber_dbを指定し、さらに、変更対象のサブスクリプション プロパティを @propertyに、新しい値を @valueに指定します。

例 (Transact-SQL)

レプリケーション管理オブジェクト (RMO) の使用

プッシュ サブスクリプション プロパティの表示や変更に使用する RMO クラスは、プッシュ サブスクリプションをサブスクライブするパブリケーションの種類によって異なります。

スナップショット パブリケーションまたはトランザクション パブリケーションに対するプッシュ サブスクリプションのプロパティを表示または変更するには

  1. ServerConnection クラスを使用して、パブリッシャーへの接続を作成します。

  2. TransSubscription クラスのインスタンスを作成します。

  3. PublicationNameDatabaseNameSubscriberNameSubscriptionDBName の各プロパティを設定します。

  4. ServerConnection プロパティ設定に、手順 1. の ConnectionContext を設定します。

  5. LoadProperties メソッドを呼び出して、オブジェクトのプロパティを取得します。 このメソッドから falseが返された場合、手順 3. で指定したサブスクリプションのプロパティが正しく定義されていないか、サブスクリプションが存在していません。

  6. (省略可) プロパティを変更するには、 TransSubscription の設定可能なプロパティに新しい値を設定し、 CommitPropertyChanges メソッドを呼び出します。

  7. (省略可) 新しい設定を表示するには、 Refresh メソッドを呼び出して、サブスクリプションのプロパティを再読み込みします。

マージ パブリケーションに対するプッシュ サブスクリプションのプロパティを表示または変更するには

  1. ServerConnection クラスを使用して、サブスクライバーへの接続を作成します。

  2. MergeSubscription クラスのインスタンスを作成します。

  3. PublicationNameDatabaseNameSubscriberNameSubscriptionDBName の各プロパティを設定します。

  4. ServerConnection プロパティ設定に、手順 1. の ConnectionContext を設定します。

  5. LoadProperties メソッドを呼び出して、オブジェクトのプロパティを取得します。 このメソッドから falseが返された場合、手順 3. で指定したサブスクリプションのプロパティが正しく定義されていないか、サブスクリプションが存在していません。

  6. (省略可) プロパティを変更するには、 MergeSubscription の設定可能なプロパティに新しい値を設定し、 CommitPropertyChanges メソッドを呼び出します。

  7. (省略可) 新しい設定を表示するには、 Refresh メソッドを呼び出して、サブスクリプションのプロパティを再読み込みします。