无法还原数据库,会话正在使用数据库

时间:2012-06-11 14:32:38

标签: sql-server-2005

我正在使用SQL Server 2005,我在恢复数据库时遇到问题我在尝试恢复数据库时收到此消息。

  

恢复失败。 (Microsoft.SqlServer.Express.Smo)

     

“System.Data.SqlClient.SqlError:RESTORE无法处理数据库   'AMOD'因为它在本次会议中使用。建议这样做   执行此操作时将使用master数据库。   (Microsoft.SqlServer.Express.Smo)“

我已重新启动程序,我没有打开数据库中包含的任何表,但仍然收到此消息。我是SQL Server的新手,这是我第一次进行恢复。我感谢您提供的任何帮助。

2 个答案:

答案 0 :(得分:33)

您需要将所有用户踢出去,并确保您不在该数据库中。假设您在Management Studio中,您需要通过这种方式将您的上下文更改为其他数据库(或将数据库下拉列表切换到其他数据库),这也将启动任何其他用户(可能是您 - 对象资源管理器,对象资源管理器详细信息,其他查询窗口等都可能通过维护与数据库的连接而无意中阻止了还原:

USE master;
GO
ALTER DATABASE AMOD SET SINGLE_USER WITH ROLLBACK IMMEDIATE;

完成恢复后,数据库可以再次使用:

ALTER DATABASE AMOD SET MULTI_USER;

答案 1 :(得分:0)

使用活动管理器来终止脚本中的资源依赖关系,否则就像杀死SPID一样简单。