删除数据库所有连接 (mssql,sqlserver)


declare @spid int ;
declare @ddlstring nvarchar(max);
declare @dbname varchar(200);
set @dbname='数据库名';
declare tmpcur cursor
for select distinct spid as spid from sys.sysprocesses
where dbid=db_id(@dbname) ;

OPEN tmpcur;
fetch tmpcur into @spid ;
while (@@FETCH_STATUS=0)
begin
set @ddlstring=N'Kill '+CONVERT( nvarchar,@spid) ;
execute sp_executesql @ddlstring ;
fetch tmpcur into @spid ;
end ;

close tmpcur ;
deallocate tmpcur ;