Создание предупреждения о событии 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
В обозревателе объектов щелкните значок «плюс», чтобы развернуть сервер, на котором нужно создать предупреждение о событии WMI.
Щелкните знак «плюс», чтобы развернуть Агент SQL Server.
Щелкните правой кнопкой пункт Предупреждения и выберите Создать предупреждения.
В поле Имя диалогового окна Создание предупреждения введите имя этого предупреждения.
Установите флажок Включено, чтобы разрешить выдачу предупреждения. По умолчанию флажок Включить установлен.
В списке Тип выберите Предупреждение о событии WMI.
В разделе Определение предупреждения о событии WMI в поле Пространство имен укажите пространство имен WMI для инструкций языка WQL, определяющее события WMI, которые будут приводить к возникновению этого предупреждения.
В поле Запрос укажите инструкцию WQL, определяющую событие, на которое реагирует предупреждение.
Нажмите кнопку ОК.
[В начало]
Использование Transact-SQL
Создание предупреждения о событии WMI
В обозревателе объектов установите соединение с экземпляром компонента Компонент Database Engine.
На панели «Стандартная» выберите пункт Создать запрос.
Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить.
-- 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).
[В начало]