我在 Windows Server 2008(VMWare)上运行 SQL SERVER DB。昨天我无法通过 RDP 连接到它,因此我结束了一些保持登录状态的 RDP 会话。这似乎解决了问题。但是昨晚我了解到 DB 无法访问并且对客户没有响应。我的同事检查了服务器,但仍然无法创建 RDP 连接。
然后他重新启动了服务器,现在一切正常。
查看服务器的 CPU 读数,它在最初的 RDP 问题出现之前飙升至 100%。在我结束额外的查看后,它再次下降到正常水平,然而在客户投诉之前,它又升至 100% - 在必须重新启动之前。有没有什么办法可以调查哪些进程可能首先导致了这个问题。重新启动时是否会有某种内存转储。我宁愿现在就找出问题所在,而不是等到它再次发生。
答案1
您可以启用“完整内存转储”http://support.microsoft.com/kb/969028)
不要忘记检查事件日志。
答案2
我首先会查看是否创建了任何 DMP 文件,并检查 DMP 文件的创建日期。您可以在文件系统中搜索此信息;使用修改日期。这里有一篇关于如何分析 DMP 文件的文章(网上有几篇)。http://support.microsoft.com/kb/315263。乍一听这听起来很吓人,但如果您可以在系统驱动器上找到 DMP 文件并打开它,那么它确实可以让您了解当时发生的事情。其他要检查的东西是日志文件和事件查看器。追溯机器挂起和重新启动的时间。一般来说,根据我的经验,它通常是某种可疑驱动程序。检查您是否有最新的更新等。使用 windbg 工具应该会对您有所帮助。这也是您工具箱中的一项好技能