【发布时间】:2014-01-23 23:12:31
【问题描述】:
今天我试图在已经存在的数据库上恢复数据库,我只是在 SSMS 中右键单击数据库 --> 任务 --> 脱机,这样我就可以恢复数据库了。
出现一个小的弹出窗口并显示Query Executing..... 一段时间,然后抛出一个错误说Database is in use cannot take it offline。我从中收集到该数据库的一些活动连接,因此我尝试执行以下查询
USE master
GO
ALTER DATABASE My_DatabaseName
SET OFFLINE WITH ROLLBACK IMMEDIATE
GO
此时SSMS再次显示Query Executing.....一段时间,然后抛出以下错误:
Msg 5061, Level 16, State 1, Line 1
ALTER DATABASE failed because a lock could not be placed on database 'My_DatabaseName'. Try again later.
Msg 5069, Level 16, State 1, Line 1
ALTER DATABASE statement failed.
在此之后,我无法通过 SSMS 连接到数据库。当我尝试使用 SSMS 使其脱机时,它抛出了一个错误消息:
Database is in Transition. Try later .....
此时我根本无法触及数据库,我尝试过任何操作都返回了相同的错误消息Database is in Transition。
我在谷歌上阅读了一些人们遇到类似问题的问题,他们建议关闭 SSMS 并再次打开它,我和 由于它只是一个开发服务器,我只是使用 SSMS 删除了数据库并在新数据库上恢复。
我的问题是什么可能导致这种情况?以及如何避免这种情况在未来发生,如果我将来遇到同样的情况,除了删除整个数据库之外,还有其他方法可以解决它吗???
谢谢
【问题讨论】:
标签: sql-server sql-server-2008 database-backups database-restore