我试图连接到一个 sql server 数据库我得到这个错误
Database 'XXX' is in transition. Try the statement later.
我今天早些时候取消了一个长查询,但由于某种原因我无法让数据库恢复。有什么我可以做的吗?
我试图连接到一个 sql server 数据库我得到这个错误
Database 'XXX' is in transition. Try the statement later.
我今天早些时候取消了一个长查询,但由于某种原因我无法让数据库恢复。有什么我可以做的吗?
如果您尝试使数据库脱机或执行某些其他操作并且它们失败,则有时会发生这种情况。有时,如果您关闭尝试操作的 SSMS 实例,然后重新打开它,则可以清除锁定。关闭并重新打开连接到服务器的任何 SSMS 实例。
如果您在运行长查询时尝试使数据库脱机,也会发生这种情况。如果适用且安全,请检查活动监视器并尝试终止任何长时间运行的查询。
如果以上都不起作用,请关闭所有 SSMS 实例,然后通过 SQL Server 配置管理器重新启动 SQL。通常这会治愈它,尽管数据库最初可能处于恢复模式。
奇怪的是,我通过简单地关闭 SSMS 并重新打开来解决了这个问题。
虽然关闭 SSMS 也对我有用,但根据问题,你可以试试这个:
这个想法来自这个问题(和个人经验): https ://stackoverflow.com/questions/4230290/sql-server-2008-how-do-i-disconnect-everyone-from-my-db
SQL Server Management Studio 中有一个选项可用于使数据库联机/脱机。但它需要行政许可。
要访问它,请右键单击数据库 --> 任务 --> 联机。
我知道它已经回答了,但只是补充一下;如果情况是您试图使其脱机,然后它失败了,您可以尝试终止试图更改数据库状态的 SPID。
执行 sp_who 或 sp_who2 并找到在试图使数据库脱机的数据库上旋转的 SPID。杀死该 SPID,您将留下不处于过渡状态的联机或脱机数据库。