Create an Alert Using Severity Level
適用対象: SQL Server Azure SQL Managed Instance
重要
現在、Azure SQL Managed Instance によって、すべてではありませんが、ほとんどの SQL Server エージェントの機能がサポートされています。 詳細については、Azure SQL Managed Instance と SQL Server の T-SQL の相違点に関するページを参照してください。
このトピックでは、SQL Server Management Studio または Transact-SQL を使用して、SQL Server で特定の重大度レベルのイベントが発生したときに発生する Microsoft SQL Server エージェント警告を作成する方法について説明します。
はじめに
制限事項と制約事項
SQL Server Management Studio では、簡単かつグラフィカルに警告システム全体を管理でき、警告インフラストラクチャを構成するのにお勧めです。
xp_logevent で生成されたイベントは master データベースで発生します。 このため、 xp_logevent では、警告の @database_name が 'master' または NULL になっていないと、警告が起動されません。
重大度レベルが 19 ~ 25 の場合、SQL Server メッセージが Microsoft Windows アプリケーション ログに送信されて、警告が発動されます。 重大度レベルが 19 未満のイベントでは、 sp_altermessage、RAISERROR WITH LOG、 xp_logevent のいずれかを使用して Windows アプリケーション ログへの書き込みを強制した場合にのみ、警告が起動されます。
セキュリティ
アクセス許可
既定では、 sp_add_alert を実行できるのは、 sysadmin固定サーバー ロールのメンバーだけです。
SQL Server Management Studio を使用する
重大度レベルを使用して警告を作成するには
オブジェクト エクスプローラー で、プラス記号をクリックして、重大度レベルを使用した警告を作成するサーバーを展開します。
プラス記号をクリックして [SQL Server エージェント]を展開します。
[警告] を右クリックし、 [新しい警告]をクリックします。
[新しい警告] ダイアログ ボックスで、 [名前] ボックスに新しい警告の名前を入力します。
[種類] ボックスの一覧の [SQL Server イベント警告]をクリックします。
[イベント警告定義]で、 [データベース名] ボックスの一覧からデータベースを選択して、警告を特定のデータベースに限定します。
[警告が発生する条件]の [重大度] をクリックし、警告を発生させる重大度を選択します。
特定の文字列が含まれている場合のみ警告を生成するには、 [メッセージに次の内容が含まれている場合に警告する] チェック ボックスをオンにし、 [メッセージ テキスト]ボックスにキーワードまたは文字列を入力します。 最大文字数は 100 文字です。
[OK] をクリックします。
Transact-SQL の使用
重大度レベルを使用して警告を作成するには
オブジェクト エクスプローラーで、 データベース エンジンのインスタンスに接続します。
[標準] ツール バーの [新しいクエリ] をクリックします。
次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] をクリックします。
-- Adds an alert (Test Alert) that notifies the -- Alert Operator via email when an error with a -- severity of 23 is detected. -- Assumes that the Alert Operator already exists -- and that database mail is configured. USE msdb ; GO EXEC dbo.sp_add_alert @name=N'Test Alert', @message_id = 0, @severity = 23, @enabled = 1, @include_event_description_in = 1 ; GO EXEC dbo.sp_add_notification @alert_name=N'Test Alert', @operator_name=N'Alert Operator', @notification_method=1 ; GO
詳細については、「 sp_add_alert (Transact-SQL)」を参照してください。