数据库“ XXX”正在转换中。稍后再尝试声明


27

我试图连接到SQL Server数据库我得到这个错误

Database 'XXX' is in transition. Try the statement later.

我今天早些时候取消了一个长查询,但是由于某种原因我无法使数据库恢复。有什么我可以做的吗?


4
遇到这样的问题,您实际上应该具体说明什么SQL Server及其版本。我猜您是指Microsoft SQL服务器之一,但我们不必猜测。
约翰·加迪尼尔

看看这个。这对我有用。stackoverflow.com/a/27036481/4273753

Answers:


40

如果您尝试使数据库脱机或执行某些其他操作而失败,则有时可能会发生这种情况。有时,如果您关闭尝试执行该操作的SSMS实例,然后重新打开它,则可以清除该锁定。关闭并重新打开连接到服务器的所有SSMS实例。

如果您在长时间查询运行时尝试使数据库脱机,也会发生这种情况。检查活动监视器,并尝试终止所有长时间运行的查询(如果适用且安全)。

如果以上两种方法均无效,请关闭所有SSMS实例,然后通过SQL Server配置管理器重新启动SQL。尽管DB最初可能处于恢复模式,但是通常可以治愈它。


真奇怪 你知道为什么会这样吗?
Krismorte '17



1

SQL Server Management Studio中提供了一个用于使数据库联机/脱机的选项。但是它需要管理许可。

要访问它,请右键单击数据库->任务->联机。


0

我知道它已经回答了,不过只是补充一下;如果情况是您试图使它脱机,然后失败了,则可以尝试终止正在尝试更改数据库状态的SPID。

执行sp_who或sp_who2并查找正在使数据库脱机的正在数据库上旋转的SPID。杀死该SPID,您将剩下处于过渡状态的联机或脱机数据库。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.