Создание оповещения о событии 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
В обозреватель объектов выберите знак "плюс", чтобы развернуть сервер, в котором требуется создать оповещение о событии WMI.
Щелкните знак "плюс", чтобы развернуть Агент SQL Server.
Щелкните правой кнопкой пункт Предупреждения и выберите Создать предупреждение.
В поле Имя диалогового окна Создание предупреждения введите имя этого предупреждения.
Установите флажок Включено , чтобы разрешить выдачу предупреждения. По умолчанию флажок Включить установлен.
В списке Тип выберите Предупреждение о событии WMI.
В разделе Определение условий предупреждений о событиях WMIв поле Пространство имен укажите пространство имен WMI для инструкций языка 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