次の方法で共有


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'

変更するパブリケーションの名前。 @publicationsysname で、既定値は NULL です。 変更できるのは既存のパブリケーションだけであり、識別子の規則に従う必要があります。

[ @subscriber = ] N'subscriber'

サブスクライバーの名前。 @subscribersysname で、既定値は NULL です。

[ @subscriber_db = ] N'subscriber_db'

サブスクリプション データベースの名前。 @subscriber_dbsysname で、次の表のいずれかの値を指定できます。

[ @property = ] N'property'

指定したパブリケーションの変更対象となるプロパティを指定します。 @propertysysname で、次の表のいずれかの値を指定できます。

[ @value = ] N'value'

指定した @propertyの新しい値。 @valuenvarchar(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_subscriptionbit で、既定値は 0 です。

  • 0 は、マージ アーティクルに対する変更によってサブスクリプションが再初期化されないように指定します。 変更によってサブスクリプションの再初期化が必要であることがストアド プロシージャによって検出された場合、エラーが発生し、変更は行われません。

  • 1 は、マージ アーティクルに対する変更が既存のサブスクリプションを再初期化することを指定し、サブスクリプションの再初期化を実行するためのアクセス許可を付与します。

リターン コードの値

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

解説

sp_changemergesubscription はマージ レプリケーションで使用されます。

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

アクセス許可

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