日期:2014-05-19  浏览次数:20413 次

如何在查询分析器中删除正在运行中的数据库?
如何在查询分析器中删除正在运行中的数据库?

手工删除不行呀,说正在运行中

------解决方案--------------------
如果有进程访问数据库,需要先kill掉这些进程。


--用代码先删除连接此数据库的进程

declare @d varchar(8000)
set @d= ' '
select @d=@d+ ' kill '+cast(spid as varchar)+char(13)
from master..sysprocesses where dbid=db_id( '库名 ')
exec(@d)


------解决方案--------------------
只要有一个进程访问这个数据库,就不能删除数据库。

你可以连接到系统数据库master。

如:

use master
go

--用代码先删除连接此数据库的进程

declare @d varchar(8000)
set @d= ' '
select @d=@d+ ' kill '+cast(spid as varchar)+char(13)
from master..sysprocesses where dbid=db_id( '库名 ')
exec(@d)