2012-06-01 67 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,因爲這是「矯枉過正」,並可能導致您的數據庫重新聯機。

如果是生產數據庫,顯然認爲之前,你這樣做!