2012-06-01 65 views
1

我有一个SELECT声明挂了,我想杀了它。我正在通过SQL GUI访问服务器(如果重要的话)(不是微软的)。KIll SQL Server SELECT语句?

是否有一个命令我可以执行杀死该进程?

我使用EXEC('Kill ' + Pid):

KILL命令不能用户事务内部使用时得到这个。

+0

当你有一个“悬挂”的声明时,你有一个独特的机会去研究它并且学习根本原因并且学习更多关于SQL Server的知识。因此,在了解关于'kill'的更多信息之前,可能需要了解更多关于'sp_who2'的信息。 –

回答

3

您可以尝试KILL命令。

+2

“KILL命令不能在用户事务中使用。” – mezamorphic

+4

您的GUI是否将所有语句包含在显式事务中?也许尝试'ROLLBACK; KILL' –

+2

@Porcupine - 我的答案发布后,这句话被添加到问题! –

0

如果KILL命令不能单独工作,就像你不断地得到“KILL命令不能被用户事务内部使用。”的错误,然后OFFLINEBACKONLINE再次把你的数据库。这将强制完全断开数据库上任何延迟的进程。

不要做DEATTACH,因为这是“矫枉过正”,并可能导致您的数据库重新联机。

如果是生产数据库,显然认为之前,你这样做!