警告
適用対象: SQL Server
重要
現在、Azure SQL Managed Instance によって、すべてではありませんが、ほとんどの SQL Server エージェントの機能がサポートされています。 詳細については、Azure SQL Managed Instance と SQL Server の T-SQL の相違点に関するページを参照してください。
イベントは、 SQL Server によって生成され、 Microsoft Windows アプリケーション ログに記録されます。 SQL Server エージェントは、アプリケーション ログを読み取り、そこに書き込まれているイベントを、定義済みの警告と比較します。 SQL Server エージェントによって一致が検出されると、イベントに対する自動応答である警告を発します。 SQL Server イベントの監視だけでなく、 SQL Server エージェントはパフォーマンス状態および Windows Management Instrumentation (WMI) イベントも監視します。
警告を定義するには、次の項目を指定します。
警告の名前を指定します。
警告をトリガーするイベントまたはパフォーマンス状態
SQL Server エージェントがそのイベントまたはパフォーマンス状態への応答として実行するアクション
警告の命名
すべての警告に名前を付ける必要があります。 警告名は、 SQL Server のインスタンス内で一意である必要があります。使用できる文字数は最大 128 文字です。
イベントの種類の選択
警告は特定の種類のイベントに応答します。 警告は次のイベントの種類に応答します。
SQL Server のイベント
SQL Server のパフォーマンス状態
WMI イベント
イベントの種類によって、イベントの詳細を指定するために使用するパラメーターが異なります。
SQL Server イベントの指定
1 つ以上のイベントに応答して発生する警告を指定できます。 次のパラメーターを使用して警告をトリガーするイベントを指定します。
エラー番号
SQL Server エージェントは、特定のエラーが発生したときに警告を発します。 たとえば、データベース コンソール コマンド (DBCC) の不正な起動試行に対する応答をエラー番号 2571 と指定できます。
重大度レベル
SQL Server エージェントは、特定の重大度のエラーが発生したときに警告を発します。 たとえば、Transact-SQL ステートメントでの構文エラーに重大度 15 を指定できます。
[データベース]
SQL Server エージェントは、特定のデータベースでイベントが発生した場合のみ警告を発します。 このオプションは、エラー番号または重大度に加えて適用できます。 たとえば、1 つのインスタンスで運用データベースとレポート用データベースを使用している場合、運用データベースで構文エラーが発生した場合のみ、警告を発するように定義できます。
イベント テキスト
SQL Server エージェントは、指定されたイベントのイベント メッセージに特定の文字列が含まれている場合に警告を発します。 たとえば、特定のテーブル名または特定の定数を含んでいるメッセージに応答する警告を定義できます。
パフォーマンス状態の選択
特定のパフォーマンス状態に応答する警告を指定できます。 この場合、監視するパフォーマンス カウンター、警告を発生するしきい値、および警告発生時にカウンターが示す動作を指定します。 パフォーマンス状態を設定するには、 SQL Server エージェントの [新しい警告] または [警告のプロパティ] ダイアログ ボックスを開き、 [全般] ページで次の項目を定義する必要があります。
Object
オブジェクトは、監視されるパフォーマンスの領域です。
カウンター
カウンターは、監視される領域の属性です。
インスタンス
SQL Server インスタンスでは、監視する属性に特定のインスタンスがある場合、そのインスタンスを定義します。
[警告カウンター] および [値]
警告およびそれを生成する動作のしきい値です。 しきい値は数値です。 動作は、 [設定値未満] 、 [設定値に等しい] 、 [設定値を超える] のいずれかになります。 [値] は、パフォーマンス状況の警告カウンターの基準となる数値です。 たとえば、パフォーマンス オブジェクト SQLServer:Locks で、 Lock Wait Time が 30 分を超えると警告が発生するように設定するには、 [設定値を超える] を選択し、 [値] を 30 に指定します。
別の例として、 tempdb の空き領域が 1,000 KB を下回った場合にパフォーマンス オブジェクト SQLServer:Transactions に対して警告が発生するように指定できます。 このように設定するには、カウンター [Free space in tempdb (KB)] を選択し [設定値未満] を選択します。さらに、 [値] を 1000に設定します。
注意
パフォーマンス データは定期的にサンプリングされます。したがって、しきい値に達してからパフォーマンス警告が発せられるまでの間にわずかな遅延 (数秒) が生じる可能性があります。
注意
サーバー名を格納するイベント ログ変数は、32 文字までに制限されています。 したがって、ホスト名とインスタンス名の合計サイズが 32 文字を超えると、次のエラーが表示されることがあります。
Warning,[466] Failed to copy server name LONGNAMESQLSERV\LONGINSTANCENAME while generating performance counter alerts.
WMI イベントの選択
特定の WMI イベントに応答して警告が発生するように指定できます。 WMI イベントを選択するには、 SQL Server エージェントの [新しい警告] または [警告のプロパティ] ダイアログ ボックスを開き、 [全般] ページで次の項目を定義する必要があります。
Namespace
SQL Server エージェントを WMI クライアントとして、イベントをクエリするために用意された WMI 名前空間に登録します。
クエリ
SQL Server エージェントは、Windows Management Instrumentation Query Language (WQL) ステートメントを使用して、特定のイベントを識別します。
一般的なタスクへのリンクは次のとおりです。
メッセージ番号に基づいた警告を作成するには
重大度レベルに基づいた警告を作成するには
WMI イベントに基づいた警告を作成するには
警告に対する応答を定義するには
ユーザー定義のイベント エラー メッセージを作成するには
ユーザー定義のイベント エラー メッセージを変更するには
ユーザー定義のイベント エラー メッセージを削除するには
警告を無効にしたり、再び有効にするには