次の方法で共有


WMI イベント アラートを作成する

このトピックでは、SQL Server Management Studio または Transact-SQL を使用して、SQL Server 2014 の WMI プロバイダー for Server イベントによって監視される特定の SQL Server イベントが発生したときに発生する SQL Server エージェントアラートの方法について説明します。

WMI プロバイダーを使用して SQL Server イベントを監視する方法については、「 WMI Provider for Server Events Concepts」を参照してください。 WMI イベント アラート通知を受信するために必要なアクセス許可については、「SQL Server エージェント サービスのアカウントを選択する」を参照してください。 WQL の詳細については、「サーバー イベント用 WMI プロバイダーでの WQL の使用」を参照してください。

このトピックについて

開始する前に

制限事項と制約条件

  • SQL Server Management Studio は、アラート システム全体を管理するための簡単でグラフィカルな方法を提供し、アラート インフラストラクチャを構成するための推奨される方法です。

  • xp_logevent で生成されたイベントは、マスター データベースで発生します。 そのため、アラートの @database_name が 'master' または NULL でない限り、xp_logevent はアラートをトリガーしません。

  • SQL Server エージェントを実行するコンピューター上の WMI 名前空間のみがサポートされています。

安全

権限

既定では、sysadmin 固定サーバー ロールのメンバーのみが sp_add_alertを実行できます。

SQL Server Management Studio の使用

WMI イベント アラートを作成するには

  1. オブジェクト エクスプローラーで、プラス記号をクリックして、WMI イベント アラートを作成するサーバーを展開します。

  2. プラス記号をクリックして、SQL Server エージェントを展開してください。

  3. アラート を右クリックし、新しいアラート を選択します。

  4. [新しいアラート] ダイアログ ボックスの [名前] ボックスに、このアラートの名前を入力します。

  5. [ を有効にする] チェック ボックスをオンにして、アラートの実行を有効にします。 既定では、[ を有効にする] がオンになっています。

  6. [タイプ] リスト で、WMI イベントアラートを選択します。

  7. [WMI イベント 警告の定義] の [名前空間 ボックスで、このアラートをトリガーする WMI イベントを識別する WMI クエリ言語 (WQL) ステートメントの WMI 名前空間を指定します。

  8. クエリ ボックスで、このアラートが応答するイベントを識別する WQL ステートメントを指定します。

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

Transact-SQL の使用

WMI イベント アラートを作成するには

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

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

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

    -- creates a WMI event alert that retrieves all event properties for any ALTER_TABLE event that occurs on table AdventureWorks2012.Sales.SalesOrderDetail  
    -- This example assumes that the message 54001 already exists.  
    USE msdb ;  
    GO  
    
    EXEC dbo.sp_add_alert  
        @name = N'Test Alert 2',  
        @message_id = 54001  
        @notification_message = N'Error 54001 has occurred on the Sales.SalesOrderDetail table on the AdventureWorks2012 database. Please see the following information...',  
        @wmi_namespace = '\\.\root\Microsoft\SqlServer\ServerEvents\,  
        @wmi_query = N'SELECT * FROM ALTER_TABLE   
    WHERE DatabaseName = 'AdventureWorks2012' AND SchemaName = 'Sales'   
        AND ObjectType='Table' AND ObjectName = 'SalesOrderDetail'';  
    GO  
    

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