2010-11-21 25 views
1

我可以看到開放的過程是這樣的:如何殺死sql-server 2008中的很多進程?

select spid from master..sysprocesses where db_name(dbid)='MyDB' 

,我可以殺死這樣procces:kill 54

,但我怎麼能殺更多然後一個過程?

我要殺死所有的開放的過程,我的選擇...查詢返回我

感謝的提前

如果你想殺死他們,考慮了各行使用遊標循環

回答

0

的結果。您可以將其包裝在SP中以便於使用。

+0

好的,謝謝! ,我可以爲此獲取樣本嗎? – Gold 2010-11-21 07:18:49

+0

這裏是他們做了一些類似的事情,使用遊標來終止連接:http://blog.sqlauthority.com/2006/12/01/sql-server-cursor-to-kill-all-process-in-database/ – Zachary 2010-11-21 07:29:16

2

在一個繁忙的網站上,一旦你殺死它們,連接就會再次彈出。你需要這個嗎?

ALTER DATABASE MyDB SET single_user WITH ROLLBACK IMMEDIATE 

/*Do your task here*/ 

ALTER DATABASE MyDB SET multi_user 
+0

+1 KILLED連接通常會很快恢復 – gbn 2011-01-22 14:41:55