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


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

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

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

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

  • Перед началом работы выполните следующие действия.

    Ограничения

    Безопасность

  • Создание предупреждения о событии WMI с помощью:

    Среда SQL Server Management Studio

    Transact-SQL

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

Ограничения

  • Среда Среда 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. Нажмите кнопку ОК.

Значок стрелки, используемый со ссылкой «В начало»[В начало]

Использование 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).

Значок стрелки, используемый со ссылкой «В начало»[В начало]