"脱机"过程失败后无法访问数据库

Vai*_*hav 12 sql sql-server sql-server-2008-r2

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

'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)'
Run Code Online (Sandbox Code Playgroud)

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

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

Fur*_*edi 14

请尝试以下步骤.

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

      ALTER DATABASE `YOURDATABASE_NAME`  
      SET SINGLE_USER WITH ROLLBACK IMMEDIATE 
    
    Run Code Online (Sandbox Code Playgroud)
  4. 现在,右键单击数据库名称,指向"任务",然后单击"分离".将出现"分离数据库"对话框

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

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

    ALTER DATABASE `YOURDATABASE_NAME` SET MULTI_USER 
    
    Run Code Online (Sandbox Code Playgroud)

希望这可以帮助.


小智 12

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

  • 我可以证实这是真的.Management Studio似乎保持连接打开. (2认同)