12

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

'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)'

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

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

4

2 回答 2

14

尝试以下步骤。

  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 
    

希望这可以帮助。

于 2012-07-09T06:33:25.850 回答
12

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

于 2012-10-15T12:27:28.820 回答