如何查看固定 SQL Server 实例中发生的情况?

如何查看固定 SQL Server 实例中发生的情况?

我有一个 SQL Server 实例正在占用我的服务器。我想查看正在运行哪些作业,但它太忙了,我甚至无法登录。

当服务器崩溃时,是否有某种秘密的方法可以进入并查看正在运行的内容,或者我只需要将插头从墙上拔下来?

更新:我尝试使用 DAC 连接,但它抛出了此错误消息:

在此处输入图片描述

答案1

尝试专用管理员连接 (DAC)。

答案2

您能进入 SSMS 吗?如果可以,您是否尝试过运行 sp_who2?

这应该会向您显示哪些 SPID 占用了最多的 CPU。

答案3

我会检查服务器上的事件日志,看看是否存在磁盘错误或其他异常情况。

如果您无法连接到实例,即使通过 DAC,您的选择也很有限,请等待,或停止 sql 服务并重新启动它。如果您不确定活动可能来自何处并且它有助于故障排除,您可以执行“netstat -an”并捕获到文本文件中进行分析,该文件将为每个与服务器的连接显示一行。

连接后,请检查 SQL 错误日志是否有任何异常,并检查默认跟踪文件以获取它们可以提供的任何帮助。

答案4

如果您无法从服务器控制台登录 SQL 实例,那么您唯一的选择就是重新启动 SQL 服务。完成后,启用专用管理连接并再次重新启动服务,以便下次服务锁定时,您可以通过 DAC 登录并查看发生了什么。

相关内容