我正在使用SQL Server 2008及其管理工作室。我執行了一個產生許多行的查詢。我試圖通過紅色取消按鈕取消它,但它在過去的10分鐘內沒有停止。它通常在3分鐘內停止。如何立即終止/停止長時間的SQL查詢?
原因是什麼?如何立即停止?
我正在使用SQL Server 2008及其管理工作室。我執行了一個產生許多行的查詢。我試圖通過紅色取消按鈕取消它,但它在過去的10分鐘內沒有停止。它通常在3分鐘內停止。如何立即終止/停止長時間的SQL查詢?
原因是什麼?如何立即停止?
什麼可能的原因
查詢取消是即時的,前提是你的attention可以到達服務器並進行處理。查詢必須處於可取消狀態,除非您執行某些操作(如從SQLCLR調用Web服務),否則幾乎總是如此。如果您的注意力無法到達服務器通常是由於scheduler過載。
但是,如果您的查詢是必須回滾的事務的一部分,則不能中斷回滾。如果需要10分鐘,那麼需要10分鐘,對此無能爲力。即使重新啓動服務器也無濟於事,只會使啓動更長,因爲恢復必須完成回滾。
要回答哪個具體的原因適用於你的情況,你需要調查自己。
請注意,只有在收到關注回覆後,SSMS纔會將查詢顯示爲'已取消'(與'試圖取消'相反),這意味着首先排除通訊管道中的所有中間結果(例如,TCP/IP發送/接收緩衝區和所有內存緩衝區)。 – 2013-04-10 09:34:17
我希望它會說'回滾' – 2016-08-01 01:36:43
首先執行以下命令:
sp_who2
之後,隨着SPID,你從上面的命令得到執行以下命令:
KILL {SPID value}
sp_who2 'active'
校驗值下CPUTIME和DiskIO。注意比較大的過程的SPID。
kill {SPID value}
我正在使用Microsoft SQL Server 2008 R2,我試圖找出什麼是正在執行的查詢的SPID和被暫停,並發現有相同的SELECT SQL有很多實例相同的SPID。當我嘗試執行命令KILL 114 - 這裏是114暫停查詢的SPID值。 我得到下面的錯誤:請指導。 Msg 102,Level 15,State 1,Line 2 '114'附近語法不正確。 – 2016-06-06 10:40:13
顯然在sql server 2008 r2 64bit上,長時間從IIS運行查詢kill spid似乎不起作用,查詢只是一次又一次地重新啓動。似乎是重新使用spid的。該查詢導致sql server不斷地佔用35%的cpu並掛起網站。我猜測BC /它無法迴應登錄其他查詢
我很想看到這個源代碼。 – 2014-01-15 13:34:12
這是一種愚蠢的答案,但它至少在我的情況下可靠工作: 在管理工作室,當「取消執行查詢「不停止查詢我只是點擊關閉當前的sql文檔。它詢問我是否想取消查詢,我說是,並且在幾秒內注視它停止執行。之後,它會問我是否要在關閉前保存文檔。在這一點上,我可以單擊取消保持文檔打開並繼續工作。不知道幕後發生了什麼,但它似乎工作。
在我的部分,當我試圖關閉它時,我的sql掛起了無盡的運行。所以我做的是打開我的任務管理器並結束任務我的SQL查詢。這停止我的SQL並重新啓動它。
您可以使用鍵盤快捷鍵ALT + 中斷停止查詢執行。但是,這可能在所有情況下都不會成功。
如果取消,並看到運行
sp_who2 'active'
(活動監視器將無法使用舊的SQL Server 2000 FYI上)
點你想例如殺SPID 81
Kill 81
運行sp_who2 'active'
再次,你可能會注意到它正在睡覺......回滾
要再次獲得狀態運行KILL
Kill 81
然後你會得到一個消息像這樣
SPID 81: transaction rollback in progress. Estimated rollback completion: 63%. Estimated time remaining: 992 seconds.
一個簡單的答案,如果紅色的「停止」框不起作用,就是嘗試按下鍵盤上的「Ctrl + Break」按鈕。
如果您在Linux上運行SQL Server,則可以將一個應用程序添加到您的系統托盤中,名爲「killall」 只需單擊「killall」按鈕,然後單擊在循環中捕獲的程序將終止程序。 希望有所幫助。
我長期以來一直在遭受同樣的事情。當您連接到遠程服務器時(這可能會很慢),或者您的網絡連接較差時,它會特別發生。 我懷疑微軟是否知道正確答案是什麼。
但因爲我試圖找到解決方案。只有1門外行人的工作方式
「查詢當前正在執行。是否要取消查詢?」
一段時間它會問你是否要保存這個查詢或不經過
點擊?
點擊「取消」
,並張貼的是,可能是你的工作室再次穩定執行查詢。
它在後臺執行的操作是斷開連接的查詢窗口。因此,要再次運行查詢,需要一段時間才能再次連接遠程服務器。但相信我,這種權衡遠勝於看到永恆運行的計時器所帶來的痛苦。
PS:這適用於我,榮譽如果你也適用。 !
你是否檢查過任何應用程序持有此查詢? – user1102001 2013-04-10 09:05:14
停止並重新啓動您的SQL服務.. – user1102001 2013-04-10 09:07:17
我已經面對這個senario,因爲即使我在sql中運行的一切,這是我希望編輯我的proflie或不... – user1102001 2013-04-10 09:09:16