sp_replmonitorhelpsubscription (Transact-SQL)

パブリッシャー側の 1 つ以上のパブリケーションに属するサブスクリプションの現在の状態情報を返します。サブスクリプションごとに 1 行のデータが返されます。 このストアド プロシージャはレプリケーションの監視に使用し、ディストリビューター側でディストリビューション データベースについて実行されます。

トピック リンク アイコン Transact-SQL 構文表記規則

構文

sp_replmonitorhelpsubscription [ @publisher = ] 'publisher'
    [ , [ @publisher_db = ] 'publisher_db' ]
    [ , [ @publication = ] 'publication' ]
    [ , [ @publication_type = ] publication_type ] 
    [ , [ @mode = ] mode ]
    [ , [ @topnum = ] topnum ] 
    [ , [ @exclude_anonymous = ] exclude_anonymous ] 
    [ , [ @refreshpolicy = ] refreshpolicy ]

引数

  • [ @publisher = ] 'publisher'
    状態を監視しているパブリッシャーの名前を指定します。 publisher のデータ型は sysname で、既定値は NULL です。 null の場合、ディストリビューターを使用しているすべてのパブリッシャーの情報が返されます。

  • [ @publisher_db = ] 'publisher_db'
    パブリッシャー データベースの名前を指定します。 publisher_db のデータ型は sysname で、既定値は NULL です。 NULL の場合、パブリッシャー側のパブリッシュされたすべてのデータベースに関する情報が返されます。

  • [ @publication = ] 'publication'
    監視されているパブリケーションの名前を指定します。 publication のデータ型は sysname で、既定値は NULL です。

  • [ @publication_type = ] publication_type
    パブリケーションの種類を指定します。 publication_type のデータ型は int で、次のいずれかの値を指定できます。

    説明

    0

    トランザクション パブリケーションです。

    1

    スナップショット パブリケーションです。

    2

    マージ パブリケーションです。

    NULL (既定値)

    レプリケーションでは、パブリケーションの種類の判別が試行されます。

  • [ @mode = ] mode
    サブスクリプションの監視情報を返すときに使用するフィルター選択モードを指定します。 mode のデータ型は int で、次のいずれかの値を指定できます。

    説明

    0 (既定値)

    すべてのサブスクリプションを返します。

    1

    エラーがあるサブスクリプションだけを返します。

    2

    しきい値超過の警告を生成したサブスクリプションだけを返します。

    3

    エラーがあった、またはしきい値超過の警告を生成したサブスクリプションだけを返します。

    4

    パフォーマンスが低い下位 25 個のサブスクリプションを返します。

    5

    パフォーマンスが低い下位 50 個のサブスクリプションを返します。

    6

    現在同期しているサブスクリプションだけを返します。

    7

    現在同期していないサブスクリプションだけを返します。

  • [ @topnum = ] topnum
    返されたデータのうち、先頭から指定した数のサブスクリプションだけを結果セットに含めます。 topnum のデータ型は int で、既定値はありません。

  • [ @exclude_anonymous = ] exclude_anonymous
    匿名プル サブスクリプションを結果セットから除外するかどうかを指定します。 exclude_anonymous のデータ型は bit で、既定値は 0 です。1 は匿名サブスクリプションを除外し、0 は匿名サブスクリプションを含めます。

  • [ @refreshpolicy= ] refreshpolicy
    内部使用のみ。

結果セット

列名

データ型

説明

ステータス

int

パブリケーションに関連付けられたすべてのレプリケーション エージェントの状態を調査し、次の順序に従って、見つかった最も高いステータスを返します。

6 = 失敗

5 = 再試行

2 = 停止

4 = アイドル状態

3 = 進行中

1 = 開始

warning

int

パブリケーションに属しているサブスクリプションによって生成されるしきい値警告の最大値です。次の 1 つ以上の値の論理和になります。

1 = expiration。トランザクション パブリケーションに対するサブスクリプションが、保有期間のしきい値内に同期されませんでした。

2 = latency。トランザクション パブリッシャーからサブスクライバーへのデータのレプリケートにかかった時間が、秒単位のしきい値を超過しました。

4 = mergeexpiration。マージ パブリケーションに対するサブスクリプションが、保有期間のしきい値内に同期されませんでした。

8 = mergefastrunduration。高速ネットワーク接続上で、マージ サブスクリプションの同期の完了にかかった時間が、秒単位のしきい値を超過しました。

16 = mergeslowrunduration。低速またはダイヤルアップ ネットワーク接続上で、マージ サブスクリプションの同期の完了にかかった時間が、秒単位のしきい値を超過しました。

32 = mergefastrunspeed。高速ネットワーク接続上で、マージ サブスクリプションの同期中の行の配信率が、1 秒あたりの行数で表された配信率のしきい値を下回りました。

64 = mergefastrunspeed。低速またはダイヤルアップ ネットワーク接続上で、マージ サブスクリプションの同期中の行の配信率が、1 秒あたりの行数で表された配信率のしきい値を下回りました。

subscriber

sysname

サブスクライバーの名前。

subscriber_db

sysname

サブスクリプションで使用されるデータベースの名前。

publisher_db

sysname

パブリケーション データベースの名前。

publication

sysname

パブリケーションの名前。

publication_type

int

パブリケーションの種類。次のいずれかの値をとります。

0 = トランザクション パブリケーション

1 = スナップショット パブリケーション

2 = マージ パブリケーション

subtype

int

サブスクリプションの種類。次のいずれかの値をとります。

0 = プッシュ

1 = プル

2 = 匿名

latency

int

データ変更が、トランザクション パブリケーションのログ リーダー エージェントとディストリビューション エージェントで伝達されるまでの最大待機時間 (秒単位)。

latencythreshold

int

トランザクション パブリケーションの最大待機時間。この値を超過すると警告が生成されます。

agentnotrunning

int

エージェントが実行されていない期間 (時間単位)。

agentnotrunningthreshold

int

エージェントが実行されていない期間 (時間単位)。この値を超過すると警告が生成されます。

timetoexpiration

int

同期されていないサブスクリプションが失効するまでの期間 (時間単位)。

expirationthreshold

int

サブスクリプションが失効するまでの期間 (時間単位)。この値を超過した場合は警告が生成されます。

last_distsync

datetime

ディストリビューション エージェントが前回実行された日時。

distribution_agentname

sysname

トランザクション パブリケーションへのサブスクリプションに関するディストリビューション エージェント ジョブの名前。

mergeagentname

sysname

マージ パブリケーションへのサブスクリプションに関するマージ エージェント ジョブの名前。

mergesubscriptionfriendlyname

sysname

サブスクリプションに付けられた表示名。

mergeagentlocation

sysname

マージ エージェントが実行されるサーバーの名前。

mergeconnectiontype

int

マージ パブリケーションに対するサブスクリプションの同期時に使用される接続。次のいずれかの値をとります。

1 = ローカル エリア ネットワーク (LAN)

2 = ダイアルアップ ネットワーク接続

3 = Web 同期

mergePerformance

int

すべてのサブスクリプションの同期と比較した、前回の同期のパフォーマンス。前回の同期の配信率を、これまでのすべての配信率の平均で割った値を基準としています。

mergerunspeed

float

前回のサブスクリプションの同期の配信率。

mergerunduration

int

前回のサブスクリプションの同期の完了にかかった時間。

monitorranking

int

結果セットのサブスクリプションの並べ替えに使用される順位値。次のいずれかの値をとります。

トランザクション パブリケーションの場合

60 = エラー

56 = 警告: パフォーマンス クリティカル

52 = 警告 : 間もなく期限切れまたは期限切れ

50 = 警告 : 初期化されていないサブスクリプション

40 = 失敗したコマンドの再試行

30 = 実行していない (成功)

20 = 実行中 (開始、実行中、またはアイドル状態)

マージ パブリケーションの場合

60 = エラー

56 = 警告: パフォーマンス クリティカル

54 = 警告 : 長期マージ

52 = 警告 : まもなく期限切れ

50 = 警告 : 初期化されていないサブスクリプション

40 = 失敗したコマンドの再試行

30 = 実行中 (開始、実行中、またはアイドル状態)

20 = 実行していない (成功)

distributionagentjobid

binary(16)

トランザクション パブリケーションに対するサブスクリプションのディストリビューション エージェント ジョブの ID です。

mergeagentjobid

binary(16)

マージ パブリケーションへのサブスクリプションに関するマージ エージェント ジョブの ID。

distributionagentid

int

サブスクリプションに関するディストリビューション エージェント ジョブの ID。

distributionagentprofileid

int

ディストリビューション エージェントで使用されるエージェント プロファイルの ID。

mergeagentid

int

サブスクリプションに関するマージ エージェント ジョブの ID。

mergeagentprofileid

int

マージ エージェントで使用されるエージェント プロファイルの ID。

戻り値

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

説明

sp_replmonitorhelpsubscription は、すべての種類のレプリケーションで使用できます。

sp_replmonitorhelpsubscription の結果セットは、サブスクリプションの状態の重大度に基づいて並べ替えられます。この重大度は monitorranking の値によって決まります。 たとえば、エラー状態のすべてのサブスクリプションの列は、警告状態のサブスクリプションの列よりも上に並べられます。

権限

sp_replmonitorhelpsubscription を実行できるのは、ディストリビューション データベースの db_owner 固定データベース ロールまたは replmonitor 固定データベース ロールのメンバーだけです。

関連項目

概念

プログラムによるレプリケーションの監視