sp_dbmmonitorresults (Transact-SQL)
適用対象:SQL Server
データベース ミラーリング監視履歴が格納されている状態テーブルから、監視対象データベースの状態行を返します。事前に、このプロシージャで最新の状態を取得するかどうかを選択できます。
構文
sp_dbmmonitorresults database_name
, rows_to_return
, update_status
引数
database_name
ミラーリングの状態を返すデータベースを指定します。
rows_to_return
返す行の量を指定します。
0 = 最後の行
1 = 過去 2 時間の行
2 = 過去 4 時間の行
3 = 過去 8 時間の行
4 = 行の最終日
5 = 過去 2 日間の行
6 = 過去 100 行
7 = 過去 500 行
8 = 過去 1,000 行
9 = 最新 1,000,000 行
update_status
結果を返す前に、 プロシージャを指定します。
0 = データベースの状態は更新されません。 結果は最新 2 行のみから計算されます。行の古さは状態テーブルが更新された日時を基に判断されます。
1 = 結果を計算する前に sp_dbmmonitorupdate を呼び出して、データベースの状態を更新します。 ただし、前の 15 秒以内に状態テーブルが更新された場合、またはユーザーが sysadmin 固定サーバー ロールのメンバーでない場合、 sp_dbmmonitorresults は状態を更新せずに実行されます。
リターン コードの値
なし
結果セット
指定したデータベースの履歴状態の要求された行数を返します。 各行には、次の情報が含まれています。
列名 | データ型 | 説明 |
---|---|---|
database_name | sysname | ミラー化されたデータベースの名前。 |
role | int | サーバー インスタンスの現在のミラーリング ロール: 1 = プリンシパル 2 = ミラー |
mirroring_state | int | データベースの状態。 0 = 中断 1 = 切断 2 = 同期中 3 = 保留中のフェールオーバー 4 = 同期済み |
witness_status | int | データベースのデータベース ミラーリング セッションにおけるミラーリング監視サーバーの接続状態は、次のようになります。 0 = 不明 1 = 接続済み 2 = 切断 |
log_generation_rate | int | このデータベースのミラーリング状態の以前の更新以降に生成されたログの量 (キロバイト/秒)。 |
unsent_log | int | プリンシパルの送信キュー内の未送信ログのサイズ (KB 単位)。 |
send_rate | int | プリンシパルからミラーにログのレートをキロバイト/秒で送信します。 |
unrestored_log | int | ミラー上の再実行キューのサイズ (キロバイト単位)。 |
recovery_rate | int | ミラーの再実行率 (KB/秒単位)。 |
transaction_delay | int | すべてのトランザクションの合計遅延時間 (ミリ秒単位)。 |
transactions_per_sec | int | プリンシパル サーバー インスタンスで 1 秒あたりに発生するトランザクションの数。 |
average_delay | int | データベース ミラーリングにより、各トランザクションのプリンシパル サーバー インスタンスに対する平均遅延。 ハイ パフォーマンス モード (つまり、SAFETY プロパティが OFF に設定されている場合) では、この値は通常 0 です。 |
time_recorded | datetime | データベース ミラーリング監視で行が記録された時間。 これは、プリンシパルのシステム クロック時間です。 |
time_behind | datetime | ミラー データベースが現在追いついているプリンシパルのシステム クロックのおおよその時間。 この値はプリンシパル サーバー インスタンスでのみ意味を持ちます。 |
local_time | datetime | この行が更新されたときのローカル サーバー インスタンスのシステム クロック時間。 |
解説
sp_dbmmonitorresults は、 msdb データベースのコンテキストでのみ実行できます。
アクセス許可
sysadmin 固定サーバー ロールまたは msdb データベースの固定データベース ロールdbm_monitorメンバーシップが必要です。 dbm_monitor ロールを使用すると、メンバーはデータベース ミラーリングの状態を表示できますが、更新は行いませんが、データベース ミラーリング イベントの表示や構成は行いません。
注意
sp_dbmmonitorupdateが初めて実行されると、msdb データベースにdbm_monitor固定データベース ロールが作成されます。 sysadmin 固定サーバー ロールのメンバーは、固定データベース ロールdbm_monitorに任意のユーザーを追加できます。
例
次の例では、データベースの状態を更新せずに、前の 2 時間に記録された行を返します。
USE msdb;
EXEC sp_dbmmonitorresults AdventureWorks2022, 2, 0;
参照
データベース ミラーリングの監視 (SQL Server)
sp_dbmmonitorchangemonitoring (Transact-SQL)
sp_dbmmonitoraddmonitoring (Transact-SQL)
sp_dbmmonitordropmonitoring (Transact-SQL)
sp_dbmmonitorhelpmonitoring (Transact-SQL)
sp_dbmmonitorupdate (Transact-SQL)
フィードバック
https://aka.ms/ContentUserFeedback。
近日公開予定: 2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub イシューを段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、以下を参照してください:フィードバックの送信と表示