永远的学生

qindgfly

导航

还原sql server数据库时,无法获得对数据库的独占访问权

declare @dbname   varchar(20)
set @dbname='56fc'
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

posted on 2010-08-31 14:16  东国先生  阅读(979)  评论(0编辑  收藏  举报