SQL Server删除正在使用的数据库

2021/10/7

declare @dbname sysname   
set @dbname = 'DB33' --这个是要删除的数据库库名   
      
declare @s nvarchar(1000)   
declare tb cursor local  
for 
    select s = 'kill   ' + cast(spid as varchar) 
    from   master.dbo.sysprocesses 
    where  dbid = DB_ID(@dbname)   
      
open   tb     
fetch   next   from   tb   into   @s   
while @@fetch_status = 0 
begin 
    exec (@s)  
    fetch next from tb into @s 
end   
close   tb   
deallocate   tb   
   
exec ('drop   database   [' + @dbname + ']')