【问题标题】:SQL server restore failure for Umbraco Database (exclusive access can't be obtained) - a process keeps getting connectedUmbraco 数据库的 SQL 服务器恢复失败(无法获得独占访问权限)- 进程保持连接
【发布时间】:2013-07-30 05:03:14
【问题描述】:

我已将我的数据库设置为受限用户模式。我正在尝试从备份中恢复它,但收到以下错误:

无法获得独占访问权限,因为数据库正在使用中。

在单用户模式下得到同样的错误

连接了一个进程,但是每次我将其终止时,都会连接一个具有不同 SPID 的进程。这是预期的还是问题所在(我不是 DBA!)

我试过了:

  • 谷歌搜索解决方案:)
  • 分离数据库(失败并出现关于数据库锁定的类似错误)

我很紧张要放弃 DB(它只是 UAT,但仍然......)

接下来呢?

【问题讨论】:

    标签: sql-server-2008 connection restore


    【解决方案1】:

    【讨论】:

    • 谢谢 - 这是不同的东西,将数据库置于只读模式,但在恢复时仍然遇到同样的问题
    • @ChrisHalcrow 如果您发布您收到的准确错误消息,这可能会有所帮助。我已经经历了几十次这个过程,出于同样的原因,你正在这样做。也许还有其他事情发生:您是否也检查了错误日志?停止数据库服务器总是最后的方法,但这也会影响其他数据库中的用户......
    【解决方案2】:

    好的,这并不能解决我的问题,但是我遇到了这个来杀死所有进程,这是一个很好的脚本,因为它确定有两个进程连接并一击杀死它们 - 也许它会做其他有相同问题的人的技巧:

    declare @sql as varchar(20), @spid as int
    select @spid = min(spid)  from master..sysprocesses  where dbid = db_id('LesMillsCmsUat') 
    and spid != @@spid    
    
    while (@spid is not null)
    begin
        print 'Killing process ' + cast(@spid as varchar) + ' ...'
        set @sql = 'kill ' + cast(@spid as varchar)
        exec (@sql)
    
        select 
            @spid = min(spid)  
        from 
            master..sysprocesses  
        where 
            dbid = db_id('LesMillsCmsUat') 
            and spid != @@spid
    end 
    
    print 'Process completed...'
    

    并且此脚本成功使数据库脱机,但通过 UI 执行此操作失败 - 但仍然没有为我解决问题 - 仍然是相同的恢复问题:

    alter database LesMillsCmsUat set offline with rollback immediate
    alter database LesMillsCmsUat
    set online
    go
    

    【讨论】:

      【解决方案3】:

      主要是我不得不停止 Umbraco 使用的应用程序池(这是 DB 的用途),就在此之前,我还根据 Curt 的建议停止并重新启动了 DB 服务器(现在请记住,这已经过去为我解决了一个类似的问题,尽管我不确定这对我的情况是否真的有任何影响并且可能没有必要)。

      推理:显然 Umbraco 一直在连接。通常将数据库设置为受限用户是因为 Umbraco 应用程序使用的帐户没有提升的权限才能连接到数据库,所以我不明白为什么我需要停止池。如果有人能提供原因,这就是我一直在寻找的“原因”,我会将其标记为答案。

      【讨论】:

        猜你喜欢
        • 2013-10-22
        • 2014-01-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-04-08
        • 2020-05-03
        • 2016-08-05
        • 1970-01-01
        相关资源
        最近更新 更多