![如何查看固定 SQL Server 实例中发生的情况?](https://linux22.com/image/542082/%E5%A6%82%E4%BD%95%E6%9F%A5%E7%9C%8B%E5%9B%BA%E5%AE%9A%20SQL%20Server%20%E5%AE%9E%E4%BE%8B%E4%B8%AD%E5%8F%91%E7%94%9F%E7%9A%84%E6%83%85%E5%86%B5%EF%BC%9F.png)
我有一个 SQL Server 实例正在占用我的服务器。我想查看正在运行哪些作业,但它太忙了,我甚至无法登录。
当服务器崩溃时,是否有某种秘密的方法可以进入并查看正在运行的内容,或者我只需要将插头从墙上拔下来?
更新:我尝试使用 DAC 连接,但它抛出了此错误消息:
答案1
尝试专用管理员连接 (DAC)。
答案2
您能进入 SSMS 吗?如果可以,您是否尝试过运行 sp_who2?
这应该会向您显示哪些 SPID 占用了最多的 CPU。
答案3
我会检查服务器上的事件日志,看看是否存在磁盘错误或其他异常情况。
如果您无法连接到实例,即使通过 DAC,您的选择也很有限,请等待,或停止 sql 服务并重新启动它。如果您不确定活动可能来自何处并且它有助于故障排除,您可以执行“netstat -an”并捕获到文本文件中进行分析,该文件将为每个与服务器的连接显示一行。
连接后,请检查 SQL 错误日志是否有任何异常,并检查默认跟踪文件以获取它们可以提供的任何帮助。
答案4
如果您无法从服务器控制台登录 SQL 实例,那么您唯一的选择就是重新启动 SQL 服务。完成后,启用专用管理连接并再次重新启动服务,以便下次服务锁定时,您可以通过 DAC 登录并查看发生了什么。