sp_helpmergesubscription (Transact-SQL)
マージ パブリケーションへのサブスクリプション (プッシュ サブスクリプションとプル サブスクリプション) に関する情報を返します。このストアド プロシージャは、パブリッシャ側でパブリケーション データベースについて実行されるか、再パブリッシュしているサブスクライバ側でサブスクリプション データベースについて実行されます。
構文
sp_helpmergesubscription [ [ @publication=] 'publication']
[ , [ @subscriber=] 'subscriber']
[ , [ @subscriber_db=] 'subscriber_db']
[ , [ @publisher=] 'publisher']
[ , [ @publisher_db=] 'publisher_db']
[ , [ @subscription_type=] 'subscription_type']
[ , [ @found=] 'found' OUTPUT]
引数
[ @publication=] 'publication'
パブリケーションの名前を指定します。publication のデータ型は sysname で、既定値は % です。パブリケーションが存在し、識別子の規則に従っている必要があります。NULL または % の場合は、現在のデータベースにおけるすべてのマージ パブリケーションとサブスクリプションに関する情報が返されます。[ @subscriber=] 'subscriber'
サブスクライバの名前を指定します。subscriber のデータ型は sysname で、既定値は % です。NULL または % の場合は、指定したパブリケーションへのすべてのサブスクリプションに関する情報が返されます。[ @subscriber_db=] 'subscriber_db'
サブスクリプション データベースの名前を指定します。subscriber_db のデータ型は sysname で、既定値は % です。既定値は、すべてのサブスクリプション データベースに関する情報を返すことを意味します。[ @publisher=] 'publisher'
パブリッシャの名前を指定します。パブリッシャは有効なサーバーであることが条件となります。publisher のデータ型は sysname で、既定値は % です。既定値は、すべてのパブリッシャに関する情報を返すことを意味します。[ @publisher_db=] 'publisher_db'
パブリッシャ データベースの名前を指定します。publisher_db のデータ型は sysname で、既定値は % です。既定値は、すべてのパブリッシャ データベースに関する情報を返すことを意味します。[ @subscription_type=] 'subscription_type'
サブスクリプションの種類を指定します。subscription_type のデータ型は nvarchar(15) で、次のいずれかの値を指定できます。値
説明
push (既定値)
プッシュ サブスクリプション
pull
プル サブスクリプション
both
プッシュおよびプル サブスクリプションの両方
[ @found=] 'found'OUTPUT
行を返すことを示すフラグです。found のデータ型は int です。これは OUTPUT パラメータの 1 つであり、既定値は NULL です。1 は、パブリケーションが見つかったことを示します。0 は、パブリケーションが見つからないことを示します。
結果セット
列名 |
データ型 |
説明 |
---|---|---|
subscription_name |
sysname |
サブスクリプションの名前。 |
publication |
sysname |
パブリケーションの名前。 |
publisher |
sysname |
パブリッシャの名前。 |
publisher_db |
sysname |
パブリッシャ データベースの名前。 |
subscriber |
sysname |
サブスクライバの名前。 |
subscriber_db |
sysname |
サブスクリプション データベース名。 |
status |
int |
サブスクリプションの状態。 0 = すべてのジョブが起動待ち 1 = 1 つ以上のジョブが起動中 2 = すべてのジョブが正常に実行済み 3 = 少なくとも 1 つのジョブが実行中 4 = すべてのジョブがスケジュールに組み込まれ、アイドル状態にある 5 = 少なくとも 1 つのジョブが、前回の失敗後に再試行された 6 = 少なくとも 1 つのジョブの実行が失敗した |
subscriber_type |
int |
サブスクライバの種類。 |
subscription_type |
int |
サブスクリプションの種類。 0 = プッシュ 1 = プル 2 = 両方 |
priority |
float(8) |
サブスクリプションの優先度を示す数値。 |
sync_type |
tinyint |
サブスクリプションの同期の種類。 |
description |
nvarchar(255) |
マージ サブスクリプションの簡単な説明。 |
merge_jobid |
binary(16) |
マージ エージェントのジョブ ID。 |
full_publication |
tinyint |
完全なパブリケーションとフィルタ選択されたパブリケーションのどちらに対するサブスクリプションであるかを示します。 |
offload_enabled |
bit |
レプリケーション エージェントの負荷を軽減するためにサブスクライバでの実行が設定されているかどうかを示します。NULL の場合は、パブリッシャ側で実行されます。 |
offload_server |
sysname |
エージェントが動作しているサーバーの名前。 |
use_interactive_resolver |
int |
調整時に対話型の競合回避モジュールを使用するかどうかを示します。0 の場合、対話型の競合回避モジュールを使用しません。 |
hostname |
sysname |
HOST_NAME 関数の値によりサブスクリプションがフィルタ選択されるときに提供される値。 |
subscriber_security_mode |
smallint |
サブスクライバでのセキュリティ モード。1 は Windows 認証を表し、0 は MicrosoftSQL Server 認証を表します。 |
subscriber_login |
sysname |
サブスクライバでのログイン名。 |
subscriber_password |
sysname |
実際のサブスクライバ パスワードは返されません。結果は "******" 文字列によりマスクされます。 |
戻り値
0 (成功) または 1 (失敗)
説明
sp_helpmergesubscription はマージ レプリケーションで使用します。このストアド プロシージャによって、パブリッシャまたは再パブリッシュしているサブスクライバに格納されているサブスクリプション情報が返されます。
匿名のサブスクリプションの場合、subscription_type値は常に 1 (プル) です。ただし、匿名サブスクリプションに関する情報を取得する場合は、sp_helpmergepullsubscription をサブスクライバ側で実行する必要があります。
権限
sp_helpmergesubscription を実行できるのは、sysadmin 固定サーバー ロール、db_owner 固定データベース ロール、またはサブスクリプションが属しているパブリケーションのパブリケーション アクセス リストのメンバだけです。