Sql server 2008 SQL Server警报使用WMI事件错误
我希望在将文件放入特定文件夹时执行作业 我发现一些文章向我展示了如何在SQLServer上实现这一点 我创建了一个警报类型: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'
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)