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

    还原数据库出错: ” 因为数据库正在使用,所以无法获得对数据库的独占访问权 “ 的解决方案

    在还原数据库时 , 有时会提示因为数据库正在使用,所以无法获得对数据库的独占访问权 !!
    这时需要在还原数据库前先杀死正在使用数据库的线程 .

    该解决方案用到了系统表中的 sysprocesses ,若要访问 sysprocesses ,您必须定位到 master 数据库。

    以下是杀死正在使用 'Education' 数据库的线程 :

    use master
    
    declare @dbname varchar ( 20)
    
    set @dbname = 'Education'
    
     
    
    declare @sql nvarchar ( 500)
    
    declare @spid int --SPID 值是当用户进行连接时指派给该连接的一个唯一的整数
    
    set @sql = 'declare getspid cursor for
    
    select spid from sysprocesses where dbid=db_id(''' + @dbname + ''')'
    
    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
  • 相关阅读:
    凝聚层次聚类
    Kmeans
    贝叶斯数据集
    将项目上传至码云(命令)
    协同过滤算法
    在阿里云Centos7.6上部署Supervisor来监控和操作各类服务
    Django笔记
    高并发
    FastDFS
    关于数据结构
  • 原文地址:https://www.cnblogs.com/79039535/p/2693715.html
Copyright © 2011-2022 走看看