Sql server 2005 SQL Server:无法还原数据库,会话正在使用数据库

Sql server 2005 SQL Server:无法还原数据库,会话正在使用数据库,sql-server-2005,Sql Server 2005,我正在使用SQL Server 2005,在还原数据库时遇到问题。在尝试还原数据库时收到此消息 还原失败。(Microsoft.SqlServer.Express.Smo) “System.Data.SqlClient.SqlError:还原无法处理数据库 “AMOD”,因为此会话正在使用它。建议 执行此操作时不能使用主数据库。 (Microsoft.SqlServer.Express.Smo)” 我重新启动了程序,但没有打开数据库中包含的任何表,我仍然收到此消息。我是SQL Server新手,

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

还原失败。(Microsoft.SqlServer.Express.Smo)

“System.Data.SqlClient.SqlError:还原无法处理数据库 “AMOD”,因为此会话正在使用它。建议 执行此操作时不能使用主数据库。 (Microsoft.SqlServer.Express.Smo)”


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

您需要将所有用户赶走,并确保您也不在该数据库中。假设您在ManagementStudio中,您需要以这种方式将您的上下文更改为不同的数据库(或将数据库下拉列表切换为不同的数据库),这也将排除任何其他用户(可能是您—对象资源管理器、对象资源管理器详细信息、其他查询窗口等都可能由于维护与数据库的连接而无意中阻止还原):

完成恢复并准备好再次使用数据库后:

ALTER DATABASE AMOD SET MULTI_USER;

使用Activity manager可以删除脚本中的资源依赖项,或者简单地删除SPID。

我是为另一个用户设置的,另外我还必须转到安全性→ 登录→ 右键单击用户→ 属性并将默认数据库设置为master,然后让它们注销并重新登录。@bmaupin暂时将它们踢出也可以解决这个问题。我想我的意思是,我正在设置另一个用户来恢复数据库,但每次他们登录进行恢复时,他们要恢复的数据库都被设置为de当然,我不是专家,但更改默认数据库似乎可以解决问题。无论如何,答案很好!@bmaupin啊,我明白了,是的,如果他们是进行恢复的用户,但是在尝试恢复之前,他们总是可以发出
使用其他数据库;
ALTER DATABASE AMOD SET MULTI_USER;