关闭SQL Server 数据库所有使用连接

时间:2022-07-11 19:36:12


使用存储过程终止:
在查询分析器下创建终止数据库所有接连的存储过程,通过调用该存储过程可以关闭所有使用该数据库的连接操作。
--创建终止使用数据库下所有进程的存储过程,参数为数据库名称
use  master
go
create  proc  KillSpByDbName(@dbname  varchar(20)) 
as 
begin 
declare  @sql  nvarchar(500),@temp varchar(1000)
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 
  set @temp='kill  '+rtrim(@spid)
  exec(@temp)
fetch  next  from  getspid  into  @spid 
end 
close  getspid 
deallocate  getspid 
end 

--举例使用,关闭数据库下的所有连接操作
Use  master 
Exec  KillSpByDbName  '数据库名称'