重大度レベルを使用してアラートを作成する
適用対象:SQL Server
Azure SQL Managed Instance
大事な
Azure SQL Managed Instance では、SQL Server エージェントのほとんどの機能が現在サポートされているわけではありません。 詳細については、Azure SQL Managed Instance の T-SQL と SQL Server の違いの を参照してください。
このトピックでは、SQL Server Management Studio または Transact-SQL を使用して、SQL Server で特定の重大度レベルのイベントが発生したときに発生する Microsoft SQL Server エージェント アラートを作成する方法について説明します。
開始する前に
制限事項と規制
SQL Server Management Studio は、アラート システム全体を管理するための簡単でグラフィカルな方法を提供し、アラート インフラストラクチャを構成するための推奨される方法です。
xp_logevent で生成されたイベントは、マスター データベースで発生します。 そのため、アラートの @database_name が 'master' または NULL でない限り、xp_logevent はアラートをトリガーしません。
重大度レベルが 19 ~ 25 の場合、SQL Server メッセージが Microsoft Windows アプリケーション ログに送信され、アラートがトリガーされます。 重大度レベルが 19 未満のイベントは、sp_altermessage、RAISERROR WITH LOG、または xp_logevent を使用して Windows アプリケーション ログに強制的に書き込まれた場合にのみアラートをトリガーします。
安全
権限
既定では、sysadmin 固定サーバー ロールのメンバーのみが sp_add_alertを実行できます。
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)を参照してください。