zoukankan      html  css  js  c++  java
  • SqlServer 因为数据库正在使用,所以无法获得对数据库的独占访问权

    在还原数据库时,有时会出现“因为数据库正在使用,所以无法获得对数据库的独占访问权”的错误,这时就需要在还原数据库前先杀死正在使用数据库的线程。

    ---需要定位到master 数据库
    declare @dbname varchar(20)
    set @dbname='Ucar'  --这里给变量赋的值是要进行还原的数据库的名称

    declare @sql nvarchar(500)
    declare @spid int  --SPID sqlserver进程ID int
    set @sql='declare getspid cursor for
    select spid from sysprocesses  where dbid=db_id('''+@dbname+''')'--当前正由进程使用的数据库id  int
    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

    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/cnkiminzhuhu/archive/2009/10/23/4717093.aspx

  • 相关阅读:
    搜刮一些开源项目的APP
    iOS Crash文件的解析
    iOS中RGB颜色转换
    随笔杂记
    iOS字体
    方法总结
    经验点滴
    个人理解
    OC 知识点回顾
    IOS UI 笔记整理回顾
  • 原文地址:https://www.cnblogs.com/cainiaoji/p/2003701.html
Copyright © 2011-2022 走看看