sp_changemergesubscription (Transact-SQL)
適用対象: SQL Server
マージのプッシュ サブスクリプションについて、選択したプロパティを変更します。 このストアド プロシージャは、パブリッシャー側のパブリケーション データベースで実行されます。
重要
リモート ディストリビューターを使用してパブリッシャーを構成する場合、 @job_login や @job_passwordを含むすべてのパラメーターに指定された値がプレーン テキストとしてディストリビューターに送信されます。 このストアド プロシージャを実行する前に、パブリッシャーとリモート ディストリビューターの間の接続を暗号化する必要があります。 詳細については、「接続を暗号化するために SQL Server データベース エンジンを構成する」を参照してください。
構文
sp_changemergesubscription
[ [ @publication = ] N'publication' ]
[ , [ @subscriber = ] N'subscriber' ]
[ , [ @subscriber_db = ] N'subscriber_db' ]
[ , [ @property = ] N'property' ]
[ , [ @value = ] N'value' ]
[ , [ @force_reinit_subscription = ] force_reinit_subscription ]
[ ; ]
引数
[ @publication = ] N'publication'
変更するパブリケーションの名前。 @publication は sysname で、既定値は NULL
です。 変更できるのは既存のパブリケーションだけであり、識別子の規則に従う必要があります。
[ @subscriber = ] N'subscriber'
サブスクライバーの名前。 @subscriber は sysname で、既定値は NULL
です。
[ @subscriber_db = ] N'subscriber_db'
サブスクリプション データベースの名前。 @subscriber_db は sysname で、次の表のいずれかの値を指定できます。
[ @property = ] N'property'
指定したパブリケーションの変更対象となるプロパティを指定します。 @property は sysname で、次の表のいずれかの値を指定できます。
[ @value = ] N'value'
指定した @propertyの新しい値。 @value は nvarchar(255) で、既定値は NULL
です。
プロパティ | 値 | 説明 |
---|---|---|
description |
マージ サブスクリプションの説明。 | |
priority |
サブスクリプションの優先度。 競合が検出されたときに勝者を選択するために、既定の競合回避モジュールによって優先順位が使用されます。 | |
merge_job_login |
エージェントを実行する Windows アカウントのログイン。 | |
merge_job_password |
エージェントを実行する Windows アカウントのパスワード。 | |
publisher_security_mode |
1 |
パブリッシャーに接続するときに Windows 認証を使用。 |
0 |
パブリッシャーに接続するときは、SQL Server 認証を使用します。 | |
publisher_login |
パブリッシャーでのログイン名。 | |
publisher_password |
指定されたパブリッシャー ログインの強力なパスワード。 | |
subscriber_security_mode |
1 |
サブスクライバーに接続するときに Windows 認証を使用。 |
0 |
サブスクライバーに接続するときは、SQL Server 認証を使用します。 | |
subscriber_login |
サブスクライバーでのログイン名。 | |
subscriber_password |
指定されたサブスクライバー ログインの強力なパスワード。 | |
sync_type |
automatic |
パブリッシュされたテーブルのスキーマと初期データは、最初にサブスクライバーに転送されます。 |
none |
サブスクライバーには、パブリッシュされたテーブルのスキーマと初期データが既に含まれています。システム テーブルとデータは常に転送されます。 | |
use_interactive_resolver |
true |
対話的に競合を回避できるすべてのアーティクルについて、対話的に競合を解決できるようにします。 |
false |
既定の競合回避モジュールまたはカスタム競合回避モジュールを使用して自動的に競合を解決します。 | |
NULL (既定) |
NULL (既定) |
[ @force_reinit_subscription = ] force_reinit_subscription
このストアド プロシージャによって実行されるアクションで、既存のサブスクリプションの再初期化が必要になる可能性があることを確認します。 @force_reinit_subscription は bit で、既定値は 0
です。
0
は、マージ アーティクルに対する変更によってサブスクリプションが再初期化されないように指定します。 変更によってサブスクリプションの再初期化が必要であることがストアド プロシージャによって検出された場合、エラーが発生し、変更は行われません。1
は、マージ アーティクルに対する変更が既存のサブスクリプションを再初期化することを指定し、サブスクリプションの再初期化を実行するためのアクセス許可を付与します。
リターン コードの値
0
(成功) または 1
(失敗)。
解説
sp_changemergesubscription
はマージ レプリケーションで使用されます。
エージェントのログインまたはパスワードを変更した後、変更を有効にするには、エージェントを停止して再起動する必要があります。
アクセス許可
sysadmin固定サーバー ロールまたは固定データベース ロールdb_ownerのメンバーのみがsp_changemergesubscription
を実行できます。