WMI イベント警告の作成
このトピックでは、SQL Server 2012 で SQL Server Management Studio または Transact-SQL を使用して、WMI Provider for Server Events によって監視されている特定の SQL Server イベントが発生したときに通知される SQL Server エージェントの警告を作成する方法について説明します。
WMI Provider を使用して SQL Server イベントを監視する方法の詳細については、「WMI Provider for Server Events の概念」を参照してください。 WMI イベント警告の通知を受信するために必要な権限の詳細については、「SQL Server エージェント サービスのアカウントの選択」を参照してください。 WQL の詳細については、「WMI Provider for Server Events と WQL の使用」を参照してください。
このトピックの内容
作業を開始する準備:
制限事項と制約事項
セキュリティ
WMI イベント警告を作成する方法:
SQL Server Management Studio
Transact-SQL
作業を開始する準備
制限事項と制約事項
SQL Server Management Studio は、警告システム全体を簡単に管理できるグラフィカルなツールです。警告の基本構成を設定するには、SQL Server Management Studio を使用することをお勧めします。
xp_logevent で生成されたイベントは master データベースで発生します。 このため、xp_logevent では、警告の @database_name が 'master' または NULL になっていないと、警告が起動されません。
SQL Server エージェントが実行されているコンピューター上の WMI 名前空間だけがサポートされます。
セキュリティ
権限
既定では、sp_add_alert を実行できるのは、sysadmin 固定サーバー ロールのメンバーだけです。
[先頭に戻る]
SQL Server Management Studio の使用
WMI イベント警告を作成するには
オブジェクト エクスプローラーで、プラス記号をクリックして、WMI イベントの警告を作成するサーバーを展開します。
プラス記号をクリックして [SQL Server エージェント] を展開します。
[警告] を右クリックし、[新しい警告] をクリックします。
[新しい警告] ダイアログ ボックスで、[名前] ボックスに新しい警告の名前を入力します。
[有効化] チェック ボックスをオンにして、実行する警告を有効にします。 既定では、[有効化] チェック ボックスはオンになっています。
[種類] ボックスの一覧の [WMI イベント警告] をクリックします。
[WMI イベント警告定義] の [名前空間] ボックスで、この警告を発生させる WMI イベントを識別する WQL (WMI Query Language) ステートメントの WMI 名前空間を指定します。
[クエリ] ボックスで、警告が応答するイベントを識別する WQL ステートメントを指定します。
[OK] をクリックします。
[先頭に戻る]
Transact-SQL の使用
WMI イベント警告を作成するには
オブジェクト エクスプローラーで、データベース エンジンのインスタンスに接続します。
[標準] ツール バーの [新しいクエリ] をクリックします。
次の例をコピーしてクエリ ウィンドウに貼り付け、[実行] をクリックします。
-- 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)」を参照してください。
[先頭に戻る]