sp_helpmergesubscription (Transact-SQL)

マージ パブリケーションへのサブスクリプション (プッシュ サブスクリプションとプル サブスクリプション) に関する情報を返します。このストアド プロシージャは、パブリッシャ側でパブリケーション データベースについて実行されるか、再パブリッシュしているサブスクライバ側でサブスクリプション データベースについて実行されます。

トピック リンク アイコン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 固定データベース ロール、またはサブスクリプションが属しているパブリケーションのパブリケーション アクセス リストのメンバだけです。