如何恢复 SQL Server 2008 R2 性能计数器?

Ric*_*kNZ 11 sql-server sql-server-2008-r2 perfmon

我在 Windows 7 x64 上运行 SQL Server 2008 R2 Developer 作为默认实例。出于某种原因,SQL Server 的性能计数器似乎消失了。SELECT * FROM sys.dm_os_performance_counters返回零行。

我试过跑步lodctr /T:perf-MSSQLSERVERsqlctr.ini。尽管它完成没有错误,但它没有修复任何问题,即使在重新启动远程注册表服务之后也是如此。事实上,现在 perfmon 中缺少计数器。unlodctr MSSQLSERVER仍然说计数器没有安装,但lodctr /Q:MSSQLSERVER说它们存在并启用。常规的 Windows 和 .NET 计数器工作正常。

在 Windows 错误日志中,我看到错误 8317:

无法查询与注册表项“HKLM\SYSTEM\CurrentControlSet\Services\MSSQLSERVER\Performance”关联的值“First Counter”。SQL Server 性能计数器已禁用。

我怀疑该问题可能是由安装失败的 SQL 2012 RC0 触发的。除了重新安装 SQL Server 2008 R2 之外,对如何恢复有什么建议吗?

小智 4

尝试一下lodctr /R,它将根据注册表中存储的信息重建所有性能计数器。