Поделиться через


Создание предупреждения о событии WMI

В этом разделе описывается, как агент SQL Server оповещение, которое создается при возникновении определенного события SQL Server, отслеживаемого поставщиком WMI для событий сервера в SQL Server 2014 с помощью SQL Server Management Studio или Transact-SQL.

Сведения об использовании поставщика WMI для мониторинга событий SQL Server см. в разделе Основные понятия поставщика WMI для событий сервера. Дополнительные сведения о разрешениях, которые требуются для получения уведомлений о событиях WMI, см. в разделе Выбор учетной записи для службы агента SQL Server. Дополнительные сведения о языке WQL см. в разделе Использование WQL с поставщиком WMI для событий сервера.

В этом разделе

Перед началом

Ограничения

  • SQL Server Management Studio предоставляет простой графический способ управления всей системой предупреждений и рекомендуется для настройки инфраструктуры предупреждений.

  • События, сформированные посредством процедуры xp_logevent , появляются в базе данных master. Поэтому xp_logevent не вызывает срабатывание предупреждения, если только значение аргумента @database_name для предупреждения не равно 'master' или NULL.

  • На компьютере, где запущен агент 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 для инструкций языка WQL, определяющее события WMI, которые будут приводить к возникновению этого предупреждения.

  8. В поле Запрос укажите инструкцию WQL, определяющую событие, на которое реагирует предупреждение.

  9. Нажмите кнопку OK.

Использование Transact-SQL

Создание предупреждения о событии WMI

  1. В обозревателе объектовподключитесь к экземпляру компонента Компонент Database Engine.

  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).