2

我的数据库中有几个流氓 spid,当我以 as 登录sa并使用时,我可以看到它们正在休眠sp_who,但是尝试使用kill <spid>它们来消除它们失败了,我实际上无权访问服务器本身来反弹它. 有没有其他方法可以杀死这些东西?

4

2 回答 2

3

系统进程不能被杀死。例如,在 cmd 为 NETWORK HANDLER 的 sp_who 的输出中,不能终止 MIRROR HANDLER 和 CHECKPOINT SLEEP(或很少使用 CHECKPOINT)和 AUDIT PROCESS。如果它们的状态为“recv sleep”、“send sleep”、“alarm sleep”和“lock sleep”,它们可以被杀死。

在 sp_who 输出中,您无法判断状态为“recv sleep”的进程是否属于正在使用 SQL Server 的用户,但可能正在暂停以检查命令的结果,或者该进程是否指示用户已重新启动PC 或其他终端,并留下了一个搁浅的进程。您可以通过查询 sysprocesses 表的信息来了解有关有问题的进程的更多信息。例如:

从 spid = 8 的 sysprocesses 中选择 hostprocess、program_name

如果 program_name 是 isql 你知道这个 spid 可以被杀死。(等等......)

于 2008-12-18T07:27:11.750 回答
0

我有一个有时会做类似事情的客户端应用程序。客户端通常处于选择的中间,但不再检索行。(这可能是客户端光标,但我不确定)。这些蜘蛛似乎无法杀死。我必须找到用户并要求他们注销。

我遇到这些的另一种情况是在服务器上出现错误或堆栈跟踪之后。检查您的错误日志,看看那里是否有任何可疑的条目。如果有,那么重新启动将是您唯一的选择。

于 2008-12-15T22:47:06.573 回答