sp_changesubscription (Transact-SQL)

キュー更新トランザクション レプリケーションに関係する、スナップショットのプロパティまたはトランザクションのプッシュ サブスクリプションやプル サブスクリプションのプロパティを変更します。その他すべての種類のプル サブスクリプションのプロパティを変更するには、sp_change_subscription_properties (Transact-SQL) を使用します。sp_changesubscription は、パブリッシャ側でパブリケーション データベースについて実行されます。

セキュリティに関する注意セキュリティに関する注意

リモート ディストリビュータでパブリッシャを構成する場合、job_login と job_password を含むすべてのパラメータに対して指定された値は、プレーン テキストとしてディストリビュータに送信されます。このストアド プロシージャを実行する前に、パブリッシャとリモート ディストリビュータの間の接続を暗号化する必要があります。詳細については、「SQL Server への接続の暗号化」を参照してください。

トピック リンク アイコンTransact-SQL 構文表記規則

構文

sp_changesubscription [ @publication = ] 'publication'
        , [ @article = ] 'article'
        , [ @subscriber = ] 'subscriber'
        , [ @destination_db = ] 'destination_db'
        , [ @property = ] 'property'
        , [ @value = ] 'value'
    [ , [ @publisher = ] 'publisher' ]

引数

  • [ @publication= ] 'publication'
    変更するパブリケーションの名前を指定します。publication のデータ型は sysname で、既定値はありません。

  • [ @article = ] 'article'
    変更するアーティクルの名前を指定します。article のデータ型は sysname で、既定値はありません。

  • [ @subscriber = ] 'subscriber'
    サブスクライバの名前を指定します。subscriber データ型は sysname で、既定値はありません。

  • [ @destination_db = ] 'destination_db'
    サブスクリプション データベースの名前を指定します。destination_db のデータ型は sysname で、既定値はありません。

  • [ @property=] 'property'
    指定したサブスクリプションの変更対象となるプロパティを指定します。property のデータ型は nvarchar(30) で、表に記載されているいずれかの値を指定できます。

  • [ @value=] 'value'
    対象となる property の新しい値を指定します。value のデータ型は nvarchar(4000) で、表に記載されているいずれかの値を指定できます。

    プロパティ

    説明

    distrib_job_login

     

    エージェントを実行する Microsoft Windows アカウントのログイン。

    distrib_job_password

     

    エージェントを実行する Windows アカウントのパスワード。

    subscriber_catalog

    OLE DB プロバイダに接続するときに使用されるカタログ。このプロパティは、Microsoft SQL Server 以外のサブスクライバに対してのみ有効です。

    subscriber_datasource

    OLE DB プロバイダで認識されるデータ ソースの名前。このプロパティは、SQL Server 以外のサブスクライバに対してのみ有効です。

    subscriber_location

    OLE DB プロバイダで認識されるデータベースの場所。このプロパティは、SQL Server 以外のサブスクライバに対してのみ有効です。

    subscriber_login

     

    サブスクライバでのログイン名。

    subscriber_password

     

    指定したログインに対する複雑なパスワード。

    subscriber_security_mode

    1

    サブスクライバに接続するときに Windows 認証を使用。

     

    0

    サブスクライバに接続するときに SQL Server 認証を使用。

    subscriber_provider

    SQL Server 以外のデータ ソース用の OLE DB プロバイダを登録するときに使用される、一意なプログラム識別子 (PROGID)。このプロパティは、SQL Server 以外のサブスクライバに対してのみ有効です。

    subscriber_providerstring

    データ ソースを識別する、OLE DB プロバイダ固有の接続文字列。このプロパティは、SQL Server 以外のサブスクライバに対してのみ有効です。

    subscriptionstreams

    変更のバッチをサブスクライバに並列的に適用するために、ディストリビューション エージェントごとに許可される接続の数。SQL Server パブリッシャの場合は、164 の範囲の値がサポートされます。SQL Server 以外のサブスクライバ、Oracle パブリッシャ、またはピアツーピア サブスクライバの場合は、このプロパティに 0 を指定する必要があります。

    subscriber_type

    1

    ODBC データ ソース サーバー。

    3

    OLE DB プロバイダ。

  • [ @publisher = ] 'publisher'
    SQL Server 以外のパブリッシャを指定します。publisher のデータ型は sysname で、既定値は NULL です。

    注意

    SQL Server パブリッシャには publisher を指定しないでください。

戻り値

0 (成功) または 1 (失敗)

説明

sp_changesubscription は、スナップショットおよびトランザクション レプリケーションで使用します。

sp_changesubscription は、キュー更新トランザクション レプリケーションに関連するプッシュ サブスクリプションまたはプル サブスクリプションのプロパティを変更する場合にのみ使用できます。その他すべての種類のプル サブスクリプションのプロパティを変更するには、sp_change_subscription_properties (Transact-SQL) を使用します。

エージェントのログインまたはパスワードを変更した後、変更を有効にするには、エージェントを停止して再起動する必要があります。

権限

sp_changesubscription を実行できるのは、sysadmin 固定サーバー ロールまたは db_owner 固定データベース ロールのメンバだけです。