Tsql 我如何在Sybase杀死一个不守规矩的spid?

Tsql 我如何在Sybase杀死一个不守规矩的spid?,tsql,sybase,kill,spid,Tsql,Sybase,Kill,Spid,我的数据库中有几个流氓spid,当我以sa身份登录并使用sp_who时,我可以看到它们正在休眠,但尝试使用kill来消除它们的尝试失败了,我实际上没有访问服务器本身的权限来弹回它。有没有其他方法可以解决这些问题?我有一个客户端应用程序,有时也会做类似的事情。客户端通常位于选择的中间,但不再检索行。(这可能是客户端游标,但我不确定)。这些钉子似乎是杀不掉的。我必须找到用户并要求他们注销 我遇到的另一种情况是在服务器上出现错误或堆栈跟踪之后。检查你的错误日志,看看里面是否有任何不可靠的条目。如果有,

我的数据库中有几个流氓spid,当我以
sa
身份登录并使用
sp_who
时,我可以看到它们正在休眠,但尝试使用
kill
来消除它们的尝试失败了,我实际上没有访问服务器本身的权限来弹回它。有没有其他方法可以解决这些问题?

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


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

系统进程无法终止。例如,在sp_的输出中,cmd是网络处理程序、镜像处理程序和检查点睡眠(或很少是检查点)和审核进程不能终止。如果它们的状态为“recv sleep”、“send sleep”、“alarm sleep”和“lock sleep”,则它们可能会被杀死

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

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

如果程序名是isql,您就知道这个spid可以被终止(等等…)