Sql server 2008 SQL Server警报使用WMI事件错误

Sql server 2008 SQL Server警报使用WMI事件错误,sql-server-2008,wmi,alert,wmi-query,Sql Server 2008,Wmi,Alert,Wmi Query,我希望在将文件放入特定文件夹时执行作业 我发现一些文章向我展示了如何在SQLServer上实现这一点 我创建了一个警报类型:WMI事件警报 对于名称空间,它是SQL实例,自动显示为\\.\root\Microsoft\SqlServer\ServerEvents\MSSQLSERVER 在查询部分,我写了下面的查询 SELECT * FROM __InstanceCreationEvent WITHIN 1 WHERE TargetInstance ISA 'CIM_DataFile'

我希望在将文件放入特定文件夹时执行作业

我发现一些文章向我展示了如何在SQLServer上实现这一点

我创建了一个警报类型:
WMI事件警报

对于名称空间,它是SQL实例,自动显示为
\\.\root\Microsoft\SqlServer\ServerEvents\MSSQLSERVER

在查询部分,我写了下面的查询

SELECT * 
FROM __InstanceCreationEvent 
WITHIN 1 
WHERE TargetInstance ISA 'CIM_DataFile' 
AND TargetInstance.Name = ‘c:\\TestFolder\’ `
返回的错误消息是:


SQLServerAgent错误:
WMI错误:0x80041058

无法在提供的
@wmi\u命名空间中执行
@wmi\u查询
。验证命名空间中是否存在在查询中选择的事件类,以及查询是否具有正确的语法。(Microsoft SQL Server,错误:22022)

有关帮助,请单击:

请告知我的询问是否正确,是否还有其他需要检查的地方


非常感谢。

您使用了错误的命名空间,WMI类是
\root\CIMV2
命名空间的一部分,而不是
\root\Microsoft\SqlServer\ServerEvents\MSSQLSERVER
在这种情况下,RRUZ的答案是正确的。但是,此错误消息还有其他可能的原因:

无法在提供的@wmi\u命名空间中执行@wmi\u查询

一个可能的原因是运行Windows服务“Windows Management Instrumentation”的帐户被禁用为SQL登录。(如果您运行的是SQL 2012+,请查找登录名“NT SERVICE\winmgmt”)。 (来源:博客作者“”)

编辑2020-05-29:我已经在DBA论坛上回答了这个问题。 另一个可能的修复方法是重新启动“Windows Management Instrumentation”服务。不知道是什么导致了问题,但重新启动服务可以解决问题。我已经看过两次了,两次都是在WindowsServer2008R2标准版x64上


编辑2020-05-29:我已经在DBA论坛上回答了这个问题

你好,是你的仪式。我使用了下面的查询并使其正常工作-非常感谢-名称空间错误EXEC msdb.dbo.sp_add_alert@name=N'SimpleFolderWatcher'、@message\u id=0、@severity=0、@enabled=1、@delay\u responses=0、@include\u event\u description\u in=0、@category\u name=N'[Uncategorized]、@wmi\u namespace=N'\.\root\cimv2',@wmi\u query=N'从1内的\uu InstanceCreationEvent中选择*,其中TargetInstance为“CIM\u数据文件”和TargetInstance.Drive=''C:''和TargetInstance.Path=''\\testfolder\\''和TargetInstance.Name如“C:\\%'',@job\u id=N'0-0-0'GO
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)