sp_dbmmonitorhelpalert (Transact-SQL)

データベース ミラーリング監視の主要なパフォーマンス基準の 1 つまたはすべてについて、警告しきい値に関する情報を返します。

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

構文

sp_dbmmonitorhelpalert database_name 
    [ , alert_id ] 

引数

  • database_name
    データベースを指定します。

  • [ alert_id ]
    返す警告を識別する整数値を指定します。この引数を省略すると、保有期間以外のすべての警告が返されます。

    特定の警告を返すには、次のいずれかの値を指定します。

    パフォーマンス基準

    警告しきい値

    1

    最も古い未送信のトランザクション

    送信キュー内にトランザクションを累積できる時間 (分単位) を指定します。この時間を経過すると、プリンシパル サーバー インスタンスで警告が生成されます。この警告を使用すると、時間的な面からデータ損失の可能性を判断できます。この警告は特に高パフォーマンス モードに関係しますが、パートナーとの通信が切断されたためにミラーリングが一時停止または中断している場合は、高安全モードにも関係します。

    2

    未送信のログ

    未送信のログのサイズ (KB) を指定します。このサイズを超えると、プリンシパル サーバー インスタンスで警告が生成されます。この警告を使用すると、KB の面からデータ損失の可能性を判断できます。この警告は特に高パフォーマンス モードに関係しますが、パートナーとの通信が切断されたためにミラーリングが一時停止または中断している場合は、高安全モードにも関係します。

    3

    復元されていないログ

    復元されていないログのサイズ (KB) を指定します。このサイズを超えると、ミラー サーバー インスタンスで警告が生成されます。この警告を使用すると、フェールオーバー時間を判断できます。フェールオーバー時間の大部分は、以前のミラー サーバーの再実行キューに残っているログをロールフォワードする場合に必要となる時間です。この時間にわずかな時間を加えます。

    4

    ミラー コミットのオーバーヘッド

    許容可能な、トランザクションあたりの平均遅延時間 (ミリ秒単位) を指定します。この時間を経過すると、プリンシパル サーバーで警告が生成されます。この遅延時間は、ミラー サーバー インスタンスによってトランザクションのログ レコードが再実行キューに書き込まれるのをプリンシパル サーバー インスタンスが待機している間、発生したオーバーヘッドの合計に相当します。この値は高安全モードにのみ関係します。

    5

    保有期間

    データベース ミラーリングの状態テーブルにある行の保有期間を制御するメタデータです。

    警告に対応するイベント ID については、「ミラーリング パフォーマンス基準の警告しきい値および警告の使用」を参照してください。

リターン コードの値

なし

結果セット

警告ごとに、次の列を含む行を返します。

データ型

説明

alert_id

int

次の表に、各パフォーマンス基準の alert_id 値と、sp_dbmmonitorresults 結果セットに表示される基準の計測単位を示します。

値パフォーマンス基準単位
1最も古い未送信のトランザクション分
2未送信のログKB
3復元されていないログKB
4ミラー コミットのオーバーヘッドミリ秒
5保有期間時間

threshold

int

警告しきい値を指定します。ミラーリングの状態が更新されたときに、このしきい値より大きな値が返されると、Windows のイベント ログにエントリが作成されます。この値は、警告に応じて、KB、分、またはミリ秒となります。現在しきい値が設定されていない場合、値は NULL です。

注意
現在の値を表示するには、sp_dbmmonitorresults ストアド プロシージャを実行します。

enabled

bit

0 = イベントは無効です。

1 = イベントは有効です。

注意
保有期間は常に有効になります。

権限

固定サーバー ロール sysadmin のメンバーシップが必要です。

次の例では、AdventureWorks2008R2 データベースにある最も古い未送信のトランザクションのパフォーマンス基準に対し、警告が有効になっているかどうかを示す行を返します。

EXEC sp_dbmmonitorhelpalert AdventureWorks2008R2, 1 ;

次の例では、AdventureWorks2008R2 データベースにあるパフォーマンス基準ごとに、基準が有効になっているかどうかを示す行を返します。

EXEC sp_dbmmonitorhelpalert AdventureWorks2008R2;