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


Создание оповещения о событии WMI

Область применения: SQL Server Управляемый экземпляр SQL Azure

Внимание

В Управляемом экземпляре Azure SQL в настоящее время поддерживается большинство функций агента SQL Server (но не все). Подробные сведения см. в статье Различия в T-SQL между Управляемым экземпляром SQL Azure и SQL Server.

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

Разрешения

По умолчанию могут выполняться sp_add_alertтолько члены предопределенных ролей сервера sysadmin.

Использование SQL Server Management Studio

  1. В обозреватель объектов выберите знак "плюс", чтобы развернуть сервер, в котором требуется создать оповещение о событии WMI.

  2. Щелкните знак "плюс", чтобы развернуть Агент SQL Server.

  3. Щелкните правой кнопкой пункт Предупреждения и выберите Создать предупреждение.

  4. В поле Имя диалогового окна Создание предупреждения введите имя этого предупреждения.

  5. Установите флажок Включено , чтобы разрешить выдачу предупреждения. По умолчанию флажок Включить установлен.

  6. В списке Тип выберите Предупреждение о событии WMI.

  7. В разделе Определение условий предупреждений о событиях WMIв поле Пространство имен укажите пространство имен WMI для инструкций языка WQL, определяющее события WMI, которые будут приводить к возникновению этого предупреждения.

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

  9. Нажмите ОК.

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

  1. В обозревателе объектов подключитесь к экземпляру ядра СУБД.

  2. На стандартной панели выберите пункт Создать запрос.

  3. Скопируйте приведенный ниже пример в окно запроса и нажмите кнопку Выполнить.

    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 AdventureWorks2022 database.',
        @wmi_namespace = '\.\root\Microsoft\SqlServer\ServerEvents',
        @wmi_query = N'SELECT * FROM ALTER_TABLE
    WHERE DatabaseName = ''AdventureWorks2022'' AND SchemaName = ''Sales''
    AND ObjectType=''Table'' AND ObjectName = ''SalesOrderDetail''';
    GO
    

Следующие шаги