Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
применимо к:SQL Server
Управляемому экземпляру SQL Azure
Это важно
В Azure SQL Managed Instanceв настоящее время поддерживается большинство функций агента SQL Server, но не все. Дополнительные сведения см. в разделе отличия Управляемого экземпляра SQL Azure от SQL Server или ограничения заданий SQL Agent в Управляемом экземпляре SQL.
В этой статье описывается, как создать оповещение агента SQL Server, которое срабатывает при возникновении определенного события в SQL Server, отслеживаемого с помощью поставщика WMI для событий сервера. Для этого используются 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.Поддерживаются только пространства имен WMI на компьютере с агентом SQL Server.
Разрешения
По умолчанию только члены фиксированной серверной роли sysadmin могут выполнять sp_add_alert
.
Используйте SQL Server Management Studio
В обозревателе объектов выберите знак плюса, чтобы развернуть сервер, в котором требуется создать оповещение о событии WMI.
Выберите знак "плюс", чтобы развернуть SQL Server Agent.
Щелкните правой кнопкой мыши Оповещения и выберите Новое оповещение.
В диалоговом окне Новое оповещение в поле "Имя" введите имя этого оповещения.
Установите флажок Включить, чтобы включить запуск оповещения. По умолчанию флажок Включить отмечен.
В списке типов выберите оповещение о событии WMI.
В определении оповещения события WMI в поле пространства имен укажите пространство имен WMI для запроса WMI Query Language (WQL), который определяет, какое событие WMI будет активировать это оповещение.
В поле запроса укажите инструкцию WQL, которая идентифицирует событие, на которое отвечает это оповещение.
Нажмите ОК.
Использование Transact-SQL
В обозревателе объектов подключитесь к экземпляру ядра СУБД.
На стандартной панели выберите пункт Создать запрос.
Скопируйте приведенный ниже пример в окно запроса и нажмите кнопку Выполнить.
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