Windows 通过WMI的查询始终返回0(CIMV2,SQL Server)

Windows 通过WMI的查询始终返回0(CIMV2,SQL Server),windows,sql-server-2005,sql-server-2008,wmi,Windows,Sql Server 2005,Sql Server 2008,Wmi,为了控制SQLServer2005的一个实例,我正在通过网络访问一些WMI计数器。我使用了四个不同的类和属性: Win32\u性能格式化数据\u MSSQLServer\u SQLServerGeneralStatistics用户连接 Win32_performatteddata_MSSQLServer_SQLServerSQLStatistics sqlcompilementspersec Win32_PerfFormattedData_MSSQLServer_SQLServerAccessM

为了控制SQLServer2005的一个实例,我正在通过网络访问一些WMI计数器。我使用了四个不同的类和属性:

Win32\u性能格式化数据\u MSSQLServer\u SQLServerGeneralStatistics用户连接 Win32_performatteddata_MSSQLServer_SQLServerSQLStatistics sqlcompilementspersec Win32_PerfFormattedData_MSSQLServer_SQLServerAccessMethods PageSplitsPersec Win32_PerfFormattedData_MSSQLServer_SQLServerDatabases LogFlushesSec 据我所知,所有这些计数器都应该工作,它们对于监视SQL Server如何执行其活动至关重要。不幸的是,我取得了不同的结果

UserConnections工作得很好,但是SQLCompilationsPersec和PageSplitsPerSec总是返回0。甚至找不到LogFlushesSec

我已尝试修复WMI存储库,但没有结果:

cd/d%windir%\system32\wbem 对于*.dll中的%i,执行RegSvr32-s%i 对于*.exe中的%i,执行%i/RegServer 我必须说,所有这些计数器都可以在perfmon中正确访问和查看,它们并不总是返回0。问题是为什么


谢谢,

您使用的是什么版本的SQL?SQL Server 2005。我已经在2008年进行了测试,我发现我也有同样的问题。我重复一下,这些计数器可以在perfmon中查看。谢谢您使用什么语言查询WMI或使用wmic?不,使用C和System.Diagnostics API