sp_changesubscription (Transact-SQL)

適用対象: SQL Server Azure SQL Managed Instance

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

重要

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

Transact-SQL 構文表記規則

構文

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

引数

[ @publication = ] N'publication'

変更するパブリケーションの名前。 @publicationsysname で、既定値はありません。

[ @article = ] N'article'

変更するアーティクルの名前。 @articlesysname で、既定値はありません。

[ @subscriber = ] N'subscriber'

サブスクライバーの名前。 @subscribersysname で、既定値はありません。

[ @destination_db = ] N'destination_db'

サブスクリプション データベースの名前。 @destination_dbsysname で、既定値はありません。

[ @property = ] N'property'

指定されたサブスクリプションに対して変更するプロパティ。 @propertynvarchar(30)であり、テーブル内のいずれかの値を指定できます。

[ @value = ] N'value'

指定した property の新しい値。 @valuenvarchar(4000)であり、テーブル内のいずれかの値を指定できます。

プロパティ 説明
distrib_job_login エージェントを実行する Windows アカウントのログイン。
distrib_job_password エージェントを実行する Windows アカウントのパスワード。
subscriber_catalog 1 OLE DB プロバイダーへの接続時に使用するカタログ。
subscriber_datasource 1 OLE DB プロバイダーで認識されるデータ ソースの名前。
subscriber_location 1 OLE DB プロバイダーによって認識されるデータベースの場所。
subscriber_login サブスクライバーでのログイン名。
subscriber_password 指定されたログインの強力なパスワード。
subscriber_security_mode 1 サブスクライバーに接続するときに Windows 認証を使用。
0 サブスクライバーに接続するときは、SQL Server 認証を使用します。
subscriber_provider 1 SQL Server 以外のデータ ソースの OLE DB プロバイダーが登録されている一意のプログラム識別子 (PROGID)。
subscriber_providerstring 1 データ ソースを識別する OLE DB プロバイダー固有の接続文字列。
subscriptionstreams 変更のバッチをサブスクライバーに並行して適用するために、ディストリビューション エージェントごとに許可される接続の数。 SQL Server パブリッシャーでは、 1 から 64 までの値の範囲がサポートされています。 このプロパティは、SQL Server 以外のサブスクライバー、Oracle パブリッシャー、またはピア ツー ピア サブスクリプションに対して 0 する必要があります。
subscriber_type 1 ODBC データ ソース サーバー
3 OLE DB プロバイダー
memory_optimized bit サブスクリプションがメモリ最適化テーブルをサポートしていることを示します。 memory_optimizedビットで、 1true されます (サブスクリプションはメモリ最適化テーブルをサポートしています)。

1 このプロパティは、SQL Server 以外のサブスクライバーに対してのみ有効です。

[ @publisher = ] N'publisher'

SQL Server 以外のパブリッシャーを指定します。 @publishersysname で、既定値は NULL です。

@publisher は、SQL Server パブリッシャーに対して指定しないでください。

リターン コードの値

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

解説

sp_changesubscription は、スナップショット レプリケーションとトランザクション レプリケーションで使用されます。

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

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

アクセス許可

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