我需要帮助设置一个在SINGLE_USER
模式下恢复到MULTI_USER
的数据库。每次我跑步的时候
ALTER DATABASE BARDABARD
SET MULTI_USER;
GO
我得到了这个错误:
此时无法对数据库'BARDABARD‘的状态或选项进行
更改。
数据库处于单用户模式,并且当前有用户连接到该数据库。
它需要处于非SINGLE_USER
模式才能将其设置为另一种模式,但是当数据库处于SINGLE_USER
模式时,我不能将其设置为任何其他模式。
发布于 2018-11-03 00:34:43
进入单用户模式后,客户端只能与SQL Server建立一个连接,请记住,“对象资源管理器”会占用一个(单独的)连接,因此,如果您尝试在查询窗口中运行多用户语句,您将收到错误消息,即在单用户模式下无法建立另一个连接。
对我来说,这不是问题所在,在我的例子中,很少有自动进程持续地(每隔几秒钟)建立连接,所以当我将数据库带入单用户模式并自己断开连接时,其中一个进程建立/占用了连接(在我可以开始恢复操作之前)。一旦我杀死了这些连接,它们就会重新连接,当我运行恢复命令时,我会得到连接已被占用的错误。
为了解决这个问题,我不得不在一个查询窗口中编写kill
语句、更改User-Mode
语句和Restore
操作,当我一次性运行所有这些操作时,瞧!啊,真灵。
希望这对其他人有帮助。
https://stackoverflow.com/questions/14652923
复制相似问题