次の方法で共有


sp_replmonitorhelppublication (Transact-SQL)

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

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

構文

sp_replmonitorhelppublication [ @publisher = ] 'publisher'
    [ , [ @publisher_db = ] 'publisher_db' 
    [ , [ @publication = ] 'publication' 
    [ , [ @publication_type = ] publication_type ] 
    [ , [ @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 (既定値)

    レプリケーションは、パブリケーションの種類を決定しようと試みます。

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

結果セット

列名 データ型 説明

publisher_db

sysname

パブリッシャの名前です。

publication

sysname

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

publication_type

int

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

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

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

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

status

int

パブリケーションに関連付けられたすべてのレプリケーション エージェントの最大の状態です。次のいずれかの値をとります。

1 = 開始

2 = 成功

3 = 実行中

4 = アイドル

5 = 再試行中

6 = 失敗

warning

int

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

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

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

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

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

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

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

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

worst_latency

int

トランザクション パブリケーションのログ リーダー エージェントまたはディストリビューション エージェントによって反映されるデータ変更の最大待機時間 (秒) です。

best_latency

int

トランザクション パブリケーションのログ リーダー エージェントまたはディストリビューション エージェントによって反映されるデータ変更の最小待機時間 (秒) です。

average_latency

int

トランザクション パブリケーションのログ リーダー エージェントまたはディストリビューション エージェントによって反映されるデータ変更の平均待機時間 (秒) です。

last_distsync

datetime

ディストリビューション エージェントが最後に実行された日時です。

retention

int

パブリケーションの保有期間です。

latencythreshold

int

トランザクション パブリケーションに設定されている待機時間のしきい値です。

expirationthreshold

int

パブリケーション (マージ パブリケーションの場合) に設定されている有効期限のしきい値です。

agentnotrunningthreshold

int

エージェントが実行されない最長時間に対して設定されるしきい値です。

subscriptioncount

int

パブリケーションに対するサブスクリプションの数です。

runningdistagentcount

int

パブリケーションに対して実行されているディストリビューション エージェントの数です。

snapshot_agentname

sysname

パブリケーションのスナップショット エージェント ジョブの名前です。

logreader_agentname

sysname

トランザクション パブリケーションのログ リーダー エージェント ジョブの名前です。

qreader_agentname

sysname

キュー更新をサポートするトランザクション パブリケーションのキュー リーダー エージェント ジョブの名前です。

worst_runspeedPerf

int

マージ パブリケーションの最長同期時間です。

best_runspeedPerf

int

マージ パブリケーションの最短同期時間です。

average_runspeedPerf

int

マージ パブリケーションの平均同期時間です。

retention_period_unit

int

retention を表すために使用される単位です。

解説

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

権限

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

戻り値

成功した場合は 0 を、失敗した場合は 1 をそれぞれ返します。

参照

その他の技術情報

レプリケーションをプログラムから監視する方法 (レプリケーション Transact-SQL プログラミング)

ヘルプおよび情報

SQL Server 2005 の参考資料の入手