重大度レベルを使用した警告の作成

このトピックでは、SQL Server 2012 で SQL Server Management Studio または Transact-SQL を使用して、特定の重大度レベルのイベントが発生したときに生成される Microsoft SQL Server エージェントの警告を作成する方法について説明します。

このトピックの内容

  • 作業を開始する準備:

    制限事項と制約事項

    セキュリティ

  • 重大度レベルを使用して警告を作成する方法:

    SQL Server Management Studio

    Transact-SQL

作業を開始する準備

制限事項と制約事項

  • SQL Server Management Studio は、警告システム全体を簡単に管理できるグラフィカルなツールです。警告の基本構成を設定するには、SQL Server Management Studio を使用することをお勧めします。

  • xp_logevent で生成されたイベントは master データベースで発生します。 このため、xp_logevent では、警告の @database_name'master' または NULL になっていないと、警告が起動されません。

  • 重大度レベル 19 ~ 25 では、Microsoft Windows アプリケーション ログに SQL Server メッセージが送信され、警告が起動されます。 重大度レベルが 19 未満のイベントでは、sp_altermessage、RAISERROR WITH LOG、xp_logevent のいずれかを使用して Windows アプリケーション ログへの書き込みを強制した場合のみ、警告が起動されます。

セキュリティ

権限

既定では、sp_add_alert を実行できるのは、sysadmin 固定サーバー ロールのメンバーだけです。

[トップに戻る] リンクで使用される矢印アイコン[Top]

SQL Server Management Studio の使用

重大度レベルを使用して警告を作成するには

  1. オブジェクト エクスプローラーで、プラス記号をクリックして、重大度レベルを使用した警告を作成するサーバーを展開します。

  2. プラス記号をクリックして [SQL Server エージェント] を展開します。

  3. [警告] を右クリックし、[新しい警告] をクリックします。

  4. [新しい警告] ダイアログ ボックスで、[名前] ボックスに新しい警告の名前を入力します。

  5. [種類] ボックスの一覧の [SQL Server イベント警告] をクリックします。

  6. [イベント警告定義] で、[データベース名] ボックスの一覧からデータベースを選択して、警告を特定のデータベースに限定します。

  7. [警告が発生する条件][重大度] をクリックし、警告を発生させる重大度を選択します。

  8. 特定の文字列が含まれている場合のみ警告を生成するには、[メッセージに次の内容が含まれている場合に警告する] チェック ボックスをオンにし、[メッセージ テキスト] ボックスにキーワードまたは文字列を入力します。 使用できる文字数は最大 100 文字です。

  9. [OK] をクリックします。

[トップに戻る] リンクで使用される矢印アイコン[Top]

Transact-SQL の使用

重大度レベルを使用して警告を作成するには

  1. オブジェクト エクスプローラーで、データベース エンジンのインスタンスに接続します。

  2. [標準] ツール バーの [新しいクエリ] をクリックします。

  3. 次の例をコピーしてクエリ ウィンドウに貼り付け、[実行] をクリックします。

    -- adds an alert (Test Alert) that runs the Back up the AdventureWorks2012 Database job when fired 
    -- assumes that the message 55001 and the Back up the AdventureWorks2012 Database job already exist.
    USE msdb ;
    GO
    
    EXEC dbo.sp_add_alert
        @name = N'Test Alert',
        @message_id = 55001, 
       @severity = 0, 
       @notification_message = N'Error 55001 has occurred. The database will be backed up...', 
       @job_name = N'Back up the AdventureWorks2012 Database' ;
    GO
    

詳細については、「sp_add_alert (Transact-SQL)」を参照してください。

[トップに戻る] リンクで使用される矢印アイコン[Top]