还原数据库前准备

Create   proc   killspid   (@dbname   varchar(20)) 
as 
begin 
declare   @sql   nvarchar(500) 
declare   @spid   int--SPID   值是当用户进行连接时指派给该连接的一个唯一的整数 
set   @sql= 'declare   getspid   cursor   for   
select   spid   from   sysprocesses   where   dbid=db_id( '''+@dbname+ ''') ' 
--sysprocesses   包含有关   SQL   Server   进程的信息。 
exec   (@sql) 
open   getspid 
fetch   next   from   getspid   into   @spid 
while   @@fetch_status <> -1--如果FETCH   语句没有执行失败或此行不在结果集中。 
begin 
exec( 'kill   '+@spid)--终止正常连接 
fetch   next   from   getspid   into   @spid 
end 
close   getspid 
deallocate   getspid 
end 
GO


当你遇到以下提示时,可以使用:

因为数据库正在使用,所以无法获得对数据库的独占访问权

posted @ 2012-06-02 15:30  叮/当  阅读(224)  评论(0编辑  收藏  举报