我有一个SELECT
声明挂了,我想杀了它。我正在通过SQL GUI访问服务器(如果重要的话)(不是微软的)。KIll SQL Server SELECT语句?
是否有一个命令我可以执行杀死该进程?
我使用EXEC('Kill ' + Pid):
KILL命令不能用户事务内部使用时得到这个。
我有一个SELECT
声明挂了,我想杀了它。我正在通过SQL GUI访问服务器(如果重要的话)(不是微软的)。KIll SQL Server SELECT语句?
是否有一个命令我可以执行杀死该进程?
我使用EXEC('Kill ' + Pid):
KILL命令不能用户事务内部使用时得到这个。
您可以尝试KILL
命令。
“KILL命令不能在用户事务中使用。” – mezamorphic
您的GUI是否将所有语句包含在显式事务中?也许尝试'ROLLBACK; KILL' –
@Porcupine - 我的答案发布后,这句话被添加到问题! –
如果KILL命令不能单独工作,就像你不断地得到“KILL命令不能被用户事务内部使用。”的错误,然后OFFLINE
和BACKONLINE
再次把你的数据库。这将强制完全断开数据库上任何延迟的进程。
不要做DEATTACH,因为这是“矫枉过正”,并可能导致您的数据库重新联机。
如果是生产数据库,显然认为之前,你这样做!
当你有一个“悬挂”的声明时,你有一个独特的机会去研究它并且学习根本原因并且学习更多关于SQL Server的知识。因此,在了解关于'kill'的更多信息之前,可能需要了解更多关于'sp_who2'的信息。 –