还原DB时错误:因为数据库正在使用,所以无法获得对数据库的独占访问权

来源:互联网 发布:信达软件下载 编辑:程序博客网 时间:2024/06/05 17:47

点击打开链接

USE MASTERGODECLARE @dbname VARCHAR(20)SET @dbname = 'unmprmsdb_20121217'DECLARE @sql NVARCHAR(500)DECLARE @spid INT --SPID 值是当用户进行连接时指派给该连接的一个唯一的整数SET @sql ='declare getspid cursor forselect spid from sysprocesses where dbid=db_id(''' + @dbname + ''')'EXEC (@sql)OPEN getspidFETCH NEXT FROM getspid INTO @spidWHILE @@fetch_status <> - 1-- 如果 FETCH 语句没有执行失败或此行不在结果集中。BEGIN    EXEC ('kill ' + @spid) -- 终止正常连接    FETCH NEXT FROM getspid INTO @spidENDCLOSE getspidDEALLOCATE getspid