エラー番号を使用して警告を作成する

適用対象:SQL ServerAzure SQL Managed Instance

重要

現在、Azure SQL Managed Instance によって、すべてではありませんが、ほとんどの SQL Server エージェントの機能がサポートされています。 詳細については、Azure SQL Managed Instance と SQL Server での相違点に関するページを参照してください。

このトピックでは、SQL Server Management Studio または Transact-SQL を使用して、特定の番号のエラーが発生したときに SQL Server で発生する Microsoft SQL Server エージェント警告の作成方法について説明します。

はじめに

制限事項と制約事項

  • SQL Server Management Studio では、簡単かつグラフィカルに警告システム全体を管理でき、警告インフラストラクチャを構成するのにお勧めです。

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

セキュリティ

アクセス許可

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

SQL Server Management Studio を使用する

エラー番号を使用して警告を作成するには

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

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

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

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

  5. [有効化] チェック ボックスをオンにして、実行する警告を有効にします。 既定では、 [有効化] チェック ボックスはオンになっています。

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

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

  8. [警告が発生する条件][エラー番号]をクリックし、その警告の有効なエラー番号を入力します。 または、 [重大度] をクリックし、警告を発生させる重大度を選択します。

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

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

Transact-SQL の使用

エラー番号を使用して警告を作成するには

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

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

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

    -- adds an alert (Test Alert) that runs the Back up
    -- the AdventureWorks2022 Database job when fired   
    -- assumes that the message 55001 and the Back up
    -- the AdventureWorks2022 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 DB will be backed up...',   
       @job_name = N'Back up the AdventureWorks2022 Database' ;  
    GO  
    

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