【问题标题】:Database is not accessible after 'taking it offline' process failed“使其脱机”过程失败后无法访问数据库
【发布时间】:2012-07-09 06:22:36
【问题描述】:

当它给我一个当前正在使用的错误时,我试图分离数据库。因此,我试图让我的数据库离线,但它没有说

'an exception occured while executing a transact SQL statement or batch 

-> ALTER DATABASE failed because a lock could not be placed on database 'myDB'. Try again later.
    ALTER DATABASE statement failed. (Microsoft SQL Server, Error: 5061)'

现在,如果我尝试访问数据库,它会说它无法访问。我该怎么做才能让我的数据库再次可访问?

我的目标是分离数据库,将其辅助数据库文件重新定位到新驱动器并重新连接它(仅仅是因为空间问题)。

【问题讨论】:

    标签: sql sql-server sql-server-2008-r2


    【解决方案1】:

    尝试以下步骤。

    1. 使用services.msc 控制台重新启动 SQL Server 服务。
    2. 现在使用 SQL Server Management Studio 连接到您的服务器。
    3. 在查询分析器中运行以下命令

        ALTER DATABASE `YOURDATABASE_NAME`  
        SET SINGLE_USER WITH ROLLBACK IMMEDIATE 
      
    4. 现在右键单击数据库名称,指向“任务”,然后单击“分离”。出现分离数据库对话框

    或 5. 运行命令重新定位辅助数据库。

    1. 再次将数据库模式设置为多用户

      ALTER DATABASE `YOURDATABASE_NAME` SET MULTI_USER 
      

    希望这会有所帮助。

    【讨论】:

      【解决方案2】:

      作为 Furqan 回答中第一步的替代方法,您可能不需要重新启动 SQL Server 实例,而只需要重新启动用于启动“脱机”任务的 SQL Server Management Studio 实例。

      【讨论】:

      • 感谢您 - 意味着我们不必让整个 SQL Server 脱机!
      • 我可以确认这是真的。 Management Studio 似乎保持连接打开。
      • 抱歉,无法登录该实例。
      • 我还不得不停止连接到数据库的 IIS 网站。从dba.stackexchange.com/a/138031/55073 开始,似乎需要关闭所有用户,所以有时需要重新启动,有时只是退出 SSMS,在我的情况下也停止 IIS。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多