次の方法で共有


sp_dbmmonitorhelpalert (Transact-SQL)

適用対象: SQL Server

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

Transact-SQL 構文表記規則

構文

sp_dbmmonitorhelpalert
    [ @database_name = ] N'database_name'
    [ , [ @alert_id = ] alert_id ]
[ ; ]

引数

[ @database_name = ] N'database_name'

データベースを指定します。 @database_namesysname で、既定値はありません。

[ @alert_id = ] alert_id

返す警告を識別する整数値を指定します。 @alert_idint で、既定値は NULL です。 この引数を省略すると、すべての警告が返されますが、保持期間は返されません。

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

パフォーマンス基準 警告しきい値
1 最も古い未送信のトランザクション 送信キュー内にトランザクションを累積できる時間 (分単位) を指定します。この時間を経過すると、プリンシパル サーバー インスタンスで警告が生成されます。 この警告は、時間の観点からデータ損失の可能性を測定するのに役立ち、高パフォーマンス モードに関連する可能性があります。 パートナーとの通信が切断されたためにミラーリングが一時停止または中断している場合は、高安全モードにも関係します。
2 未送信のログ 未送信のログのサイズ (KB) を指定します。このサイズを超えると、プリンシパル サーバー インスタンスで警告が生成されます。 この警告は、KB 単位でデータ損失の可能性を測定するのに役立ち、高パフォーマンス モードに関連する可能性があります。 パートナーとの通信が切断されたためにミラーリングが一時停止または中断している場合は、高安全モードにも関係します。
3 未復元のログ 未復元のログのサイズ (KB) を指定します。このサイズを超えると、ミラー サーバー インスタンスで警告が生成されます。 この警告は、 時間を測定するのに役立ちます。 フェールオーバー時間は、主に、以前のミラー サーバーが再実行キューに残っているログをロールフォワードするために必要な時間と、短時間の追加時間で構成されます。
4 ミラー コミットのオーバーヘッド 許容可能な、トランザクションあたりの平均遅延時間 (ミリ秒単位) を指定します。この時間を経過すると、プリンシパル サーバーで警告が生成されます。 この遅延時間は、ミラー サーバー インスタンスによってトランザクションのログ レコードが再実行キューに書き込まれるのをプリンシパル サーバー インスタンスが待機している間、発生したオーバーヘッドの量になります。 この値は高安全モードにのみ関係します。
5 保持期間 データベース ミラーリング状態テーブルの行の保持期間を制御するメタデータ。

警告に対応するイベント ID については、「 ミラーリング パフォーマンス メトリック (SQL Server) での警告しきい値とアラートの使用」を参照してください。

リターン コードの値

なし。

結果セット

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

データ型 説明
alert_id int 次の表に、各パフォーマンス メトリックの alert_id 値と、 sp_dbmmonitorresults 結果セットに表示されるメトリックの測定単位を示します。
threshold int 警告のしきい値。 ミラーリングの状態が更新されたときにこのしきい値を超える値が返された場合は、Windows イベント ログにエントリが入力されます。 この値は、警告に応じて、KB、分、またはミリ秒となります。 しきい値が現在設定されていない場合、値は NULL

注: 現在の値を表示するには、 sp_dbmmonitorresults ストアド プロシージャを実行します。
enabled bit 0 = イベントは無効です。
1 = イベントが有効です。

注: リテンション期間は常に有効です。
パフォーマンス基準 出荷単位
1 最も古い未送信のトランザクション 分間
2 未送信のログ KB
3 未復元のログ KB
4 ミラー コミットのオーバーヘッド Milliseconds
5 保持期間 時間

アクセス許可

sysadmin固定サーバー ロールのメンバーシップが必要です。または、このストアド プロシージャに対して直接アクセス許可を実行する必要があります。

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

EXEC sp_dbmmonitorhelpalert AdventureWorks2022, 1;

次の例では、 AdventureWorks2022 データベースで有効になっているかどうかを示す各パフォーマンス メトリックの行を返します。

EXEC sp_dbmmonitorhelpalert AdventureWorks2022;