sp_replmonitorhelppublication (Transact-SQL)
パブリッシャ側の 1 つ以上のパブリケーションに関する現在の状態情報を返します。このストアド プロシージャは、レプリケーションの監視に使用され、ディストリビュータ側でディストリビューション データベースについて実行されます。
構文
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 プログラミング)