sp_changesubscription (Transact-SQL)
適用対象: SQL Server Azure SQL Managed Instance
キュー更新トランザクション レプリケーションに関係するスナップショットまたはトランザクション プッシュ サブスクリプションまたはプル サブスクリプションのプロパティを変更します。 他のすべての種類のプル サブスクリプションのプロパティを変更するには、 sp_change_subscription_propertiesを使用します。 sp_changesubscription
はパブリッシャー側のパブリケーション データベースで実行されます。
重要
リモート ディストリビューターを使用してパブリッシャーを構成する場合、 @job_login や @job_passwordを含むすべてのパラメーターに指定された値がプレーン テキストとしてディストリビューターに送信されます。 このストアド プロシージャを実行する前に、パブリッシャーとリモート ディストリビューターの間の接続を暗号化する必要があります。 詳細については、「接続を暗号化するために SQL Server データベース エンジンを構成する」を参照してください。
構文
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'
変更するパブリケーションの名前。 @publication は sysname で、既定値はありません。
[ @article = ] N'article'
変更するアーティクルの名前。 @article は sysname で、既定値はありません。
[ @subscriber = ] N'subscriber'
サブスクライバーの名前。 @subscriber は sysname で、既定値はありません。
[ @destination_db = ] N'destination_db'
サブスクリプション データベースの名前。 @destination_db は sysname で、既定値はありません。
[ @property = ] N'property'
指定されたサブスクリプションに対して変更するプロパティ。 @property は nvarchar(30)であり、テーブル内のいずれかの値を指定できます。
[ @value = ] N'value'
指定した property の新しい値。 @value は nvarchar(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 は ビットで、 1 が true されます (サブスクリプションはメモリ最適化テーブルをサポートしています)。 |
1 このプロパティは、SQL Server 以外のサブスクライバーに対してのみ有効です。
[ @publisher = ] N'publisher'
SQL Server 以外のパブリッシャーを指定します。 @publisher は sysname で、既定値は NULL
です。
@publisher は、SQL Server パブリッシャーに対して指定しないでください。
リターン コードの値
0
(成功) または 1
(失敗)。
解説
sp_changesubscription
は、スナップショット レプリケーションとトランザクション レプリケーションで使用されます。
sp_changesubscription
は、キュー更新トランザクション レプリケーションに関連するプッシュ サブスクリプションまたはプル サブスクリプションのプロパティの変更にのみ使用できます。 他のすべての種類のプル サブスクリプションのプロパティを変更するには、 sp_change_subscription_propertiesを使用します。
エージェントのログインまたはパスワードを変更した後、変更を有効にするには、エージェントを停止して再起動する必要があります。
アクセス許可
sysadmin固定サーバー ロールまたは固定データベース ロールdb_ownerのメンバーのみがsp_changesubscription
を実行できます。