[T-SQL]刪除對於某個資料庫所有的使用者連線

  • 1065
  • 0

摘要:[T-SQL]刪除對於某個資料庫所有的使用者連線

一般來說,要刪除連線的時候,一定都下一堆KILL指令,很麻煩

其實可以利用master..sysprocesses 資料表的資料去組SQL

一口氣刪除所有連線


--KILL所有對某個資料庫的連線
DECLARE @kill varchar(8000) = '';
SELECT @kill = @kill + 'kill ' + CONVERT(varchar(5), spid) + ';'
FROM master..sysprocesses 
WHERE dbid = db_id('NORTHWIND')
--PRINT @kill
EXEC(@kill);

參考資料:

Script to kill all connections to a database (More than RESTRICTED_USER ROLLBACK)

http://stackoverflow.com/questions/7197574/script-to-kill-all-connections-to-a-database-more-than-restricted-user-rollback