zoukankan      html  css  js  c++  java
  • 还原sql server数据库时,无法获得对数据库的独占访问权

    使用SQL语句恢复备份数据库出现错误:因为数据库正在使用,所以未能获得对数据库的排它访问权。 RESTORE DATABASE 操作异常终止

    --查询分析器中,用下面的代码来处理
    /*
    断开所有用户打开的连接
    */
    use master
    go
    if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[p_killspid]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
    drop procedure [dbo].[p_killspid]
    GO

    --建立一个存储过程
    create proc p_killspid
    @dbname sysname --要关闭进程的数据库名
    as  
    declare @s nvarchar(1000)
    declare tb cursor local for
    select s='kill '+cast(spid as varchar)
    from master..sysprocesses
    where dbid=db_id(@dbname)
    open tb
    fetch next from tb into @s
    while @@fetch_status=0
    begin
    exec(@s)
    fetch next from tb into @s
    end
    close tb
    deallocate tb
    go


    --执行存储过程  以下红色为数据库名
    exec p_killspid  'databaseName'--
    --恢复数据库. 红色部分为数据库备份的路径
    RESTORE  DATABASE  hj  FROM  disk='D:/backPath.dat'

  • 相关阅读:
    I/O流
    Java反编译 jar包
    springMVC配置
    Java三大特征之封装(一)
    类的实例方法
    类的构造方法
    对象与类的区别
    网站标题前的小logo
    Django 学习之CORS
    Django 学习之Celery(芹菜)
  • 原文地址:https://www.cnblogs.com/chencidi/p/2199757.html
Copyright © 2011-2022 走看看