我有一对 Windows (2003 Server) 服务器,它们都运行 MS SQL Server (2008 EE),每隔几个月就会挂起一次。自从我们开始使用这些服务器以来,这种情况在过去 15 个月里一直间歇性地发生 :(。
症状如下:
- 我无法通过远程桌面进行故障排除;当我尝试时,我被卡在一个空白的黑屏上,并且从未提供登录提示。
- 我仍然可以 ping 服务器
- 我能仍打开与服务器的 SQL 连接,奇怪的是,当我执行“select getdate()”时,它返回的时间似乎停留在(我推测)服务器挂起时的几分之一秒上。反复尝试执行“select getdate()”时,得到的日期始终相同,这表明时钟已冻结。
- 文件共享尝试连接到挂起的服务器失败,并显示错误消息:“\ServerName 无法访问。您可能没有权限使用此网络资源。请联系此服务器的管理员以了解您是否具有访问权限。服务器的时钟与主域控制器的时钟不同步。”这与冻结时钟一致。
- 重启后,如果我查看 Windows 事件查看器日志,我可以看到许多安全访问(来自我和其他人),我认识到这些访问是在“停机”期间的登录尝试,但安全日志中的所有访问都与服务器挂起时的同一时间戳相关联。这也表明时钟已冻结。应用程序或系统事件日志中没有明确的原因。
我在服务器上有一个本地管理员帐户,并且正在获取具有域凭证的管理员帐户以便更好地进行远程管理员访问。
HP 应该支持这些机器并且拥有一些低级 ILO2 访问权限,但他们似乎无法找到根本原因。
重新启动可以“修复”问题,但我希望找到根本原因并解决问题。有没有人见过这种奇怪的时钟行为?!(如果只是一台服务器,我可能会说硬件时钟有问题,但两台呢?)有人能建议我应该尝试解决这种情况以找到根本原因吗(或者我应该告诉 HP 尝试什么?)
答案1
正如 Nixphoe 指出的那样 - 事件日志、事件日志、事件日志是首先要查看的地方。
听起来你可能遇到了某种内存泄漏情况,并且安装的应用程序和/或配置之间存在一些共同点。关于跟踪内存使用情况,有多种资源可用。可能需要跨时间跟踪才能识别有问题的应用程序和/或情况。
答案2
User48838 是对的。这听起来像是内存泄漏。
要检测内存泄漏,请查看 Microsoft 的这篇文章:http://technet.microsoft.com/en-us/library/cc938582.aspx这准确地解释了您在性能计数器方面必须要关注的内容。
此外,微软还有一个非常有用的工具,调试诊断工具。我用过几次,它确实有效。这里以下是一些关于如何使用它的说明。
您能给我们提供更多关于服务器的详细信息吗?规格、网卡、操作系统 sp 和位大小等?我知道 HP Proliant 服务器上的 Win 2k3 + SQL 2008 存在问题,导致时钟漂移或服务器无响应。但是,我不确定这是否适用于这种情况,因为我没有足够的详细信息,但为了以防万一,我给您提供了 Microsoft 的文章:http://support.microsoft.com/kb/2022911
我希望这有帮助。