斷開所有資料庫連線

2021-04-14 00:50:27 字數 672 閱讀 4527

create  proc  killspid  (@dbname  varchar(20))  

as  

begin  

declare  @sql  nvarchar(500)  

declare  @spid  int  

set  @sql=』declare  getspid  cursor  for    

select  spid  from  sysprocesses  where  dbid=db_id(』』』+@dbname+』』』)』  

exec  (@sql)  

open  getspid  

fetch  next  from  getspid  into  @spid  

while  @@fetch_status  <  >-1  

begin  

exec(』kill  』+@spid)  

fetch  next  from  getspid  into  @spid  

end  

close  getspid  

deallocate  getspid  

end  

--用法  

use  master  

exec  killspid  』資料庫名』 

斷開所有的資料連線

如果在 中使用了資料控制項如 dao,rdo,或 ado,在退出時應該關閉所有開啟的 recordset,database,和 workspace 雖然物件能自動登出,但是資料連線不會馬上斷開,可能會導致一些記憶體不能被系統重新分配。下面的 可以關閉所有開啟的 dao workspace,並釋放所佔...

SQL清除某個資料庫的所有資料庫連線

use master 清除連線請注意是否還use著此資料庫 gocreate proc l spcleardbconnections dbname varchar 30 as 清除某個資料庫的所有資料庫連線 rickylin 2007 11 1 declare spid int declare sq...

快速斷開當前資料庫的所有連線的方法

以前我喜歡執行這個指令碼,然後當要斷開所有連線的時候就執行一下這個指令碼,但是當我重灌sqlserver的時候,又要在 庫里 找到這個指令碼執行覺得很不方便,實際上分離資料庫也能夠斷開所有連線 1 usemaster2go 3set ansi nulls on 4set quoted identif...