Предупреждение SQL Server с помощью ошибки события WMI - PullRequest
0 голосов
/ 22 сентября 2011

Я хочу выполнить задание, когда файл помещается в определенную папку.

Я нашел несколько статей, которые показали мне, как я могу это сделать на SQL Server.

Я создал тип оповещения: WMI Event Alert

Для пространства имен это экземпляр SQL, который автоматически приходит как \\.\root\Microsoft\SqlServer\ServerEvents\MSSQLSERVER

В разделе Query - я написал следующий запрос,

SELECT * 
FROM __InstanceCreationEvent 
WITHIN 1 
WHERE TargetInstance ISA 'CIM_DataFile' 
AND TargetInstance.Name = ‘c:\\TestFolder\’ `

Возвращенное сообщение об ошибке:


Cannot create new alert. 

ADDITIONAL INFORMATION:

Create failed for Alert 'AlertTest'.  (Microsoft.SqlServer.Smo)
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.50.2425.0+((KJ_PCU_Main).110406-2044+)&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=Create+Alert&LinkId=20476

An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)

Ошибка SQLServerAgent: WMI error: 0x80041058

Не удалось выполнить @wmi_query в предоставленном @wmi_namespace. Убедитесь, что класс событий, выбранный в запросе, существует в пространстве имен и что запрос имеет правильный синтаксис. (Microsoft SQL Server, ошибка: 22022)

Для получения справки нажмите: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.50.2425&EvtSrc=MSSQLServer&EvtID=22022&LinkId=20476

Не могли бы вы сообщить, правильный ли мой запрос и есть ли что-то еще, что мне нужно проверить?

Заранее большое спасибо.

Ответы [ 2 ]

2 голосов
/ 22 сентября 2011

Вы используете неправильное пространство имен, класс WMI CIM_DataFile является частью пространства имен \root\CIMV2, а не \root\Microsoft\SqlServer\ServerEvents\MSSQLSERVER

0 голосов
/ 07 апреля 2015

В этом случае ответ от РРУЗ правильный.Однако существуют другие возможные причины этого сообщения об ошибке:

Невозможно выполнить @wmi_query в предоставленном пространстве @wmi_name.

Одной из возможных причин является учетная запись, которая работаетслужба Windows «Инструментарий управления Windows» отключена в качестве входа в систему SQL.(Если вы используете SQL 2012+, найдите имя входа NT NT SERVICE \ winmgmt).(Источник: блог от ' rahmanagoro ')

Другим возможным исправлением является перезапуск службы "Инструментарий управления Windows".Не знаю, что приводит к проблеме, но перезапуск службы устраняет ее.Я видел это дважды, оба раза на Windows Server 2008 R2 Standard Edition x64.

...