有没有什么修复方法可以让 SSMS 活动监视器正常工作?
问题:
SQL Server 活动监视器失败并出现错误对话框:
标题:Microsoft SQL Server Management Studio
活动监视器无法针对服务器 [SERVER] 执行查询。此实例的活动监视器将处于暂停状态。使用概览窗格中的上下文菜单恢复活动监视器。附加信息:
无法在服务器 [SERVER] 上找到 SQL Server 进程 ID [PID] (Microsoft.SqlServer.Management.ResourceMonitoring)
我在 SQL Server 2008 R2 x64 开发版上遇到了这个问题,但我认为在所有使用 SQL Server 2008 的 64 位系统中都存在这个问题,只是在某些尚未确定的情况下。
有一个错误报告在 Microsoft Connect 中已经解决了这个问题,但尚未解决。
答案1
检查性能监视器中是否存在 SQLServer 性能计数器。如果没有,手动重建所有性能计数器lodctr /R
以管理员权限运行命令:
cd \windows\system32
lodctr /R
答案2
好的,我想我找到了解决方案。
问题似乎出在需要相互查询的 32 位和 64 位应用程序混合使用上。
如果您启用该服务性能计数器 DLL 主机在服务控制面板中,活动监视器现在应该可以工作了。
答案3
在最简单的情况下,您需要做的就是重新启动 SSMS。在活动监视器运行时,我丢失了网络连接,因此在 SSMS 2008 R2 针对 2005 服务器运行时遇到了这个问题。在决定尝试重新启动 SSMS 之前,我尝试了一些技巧,这些技巧很有帮助。
答案4
我想我应该发布我对这个问题的经验。
症状 - 戴尔计算机上的 SQL Server 2008 R2 突然出现严重的性能下降。用户应用程序在执行查询时变得非常慢。活动监视器将启动 - 但如果您尝试打开进程列表,则会出现上述进程超时错误。
恢复数据库备份后,在内存只有一半的第二台服务器上运行良好。将这些相同的备份恢复到原始服务器并不能解决问题。
我在所有数据库上运行了 dbcc,重建了索引。强制重新创建 Windows 页面文件。尝试重新启动 SQL 服务器。尝试重新启动服务器。这些都不起作用。按照上述方法重置性能计数器 - 这提高了服务器 CPU 使用率,但并未解决任何问题。
我们的网络管理员想排除硬件问题。他更新了 RAID 控制器的设备驱动程序,然后关闭了服务器。他使用戴尔的电源顺序清除内存,这需要断开电源。重新启动后,服务器运行良好。
我们相信电源循环解决了该问题,并且根本问题在于硬件内存。