发布
社区首页 >问答首页 >如果数据库始终处于恢复状态,这意味着什么?

如果数据库始终处于恢复状态,这意味着什么?
EN

Stack Overflow用户
提问于 2011-08-05 09:11:22
回答 4查看 28.1K关注 0票数 3

每次运行查询时,我的数据库都不会立即响应第二个查询,并抱怨它处于恢复模式(尽管它不显示数据库名称之外的任何内容)。这大约会发生5-10分钟,之后一切都会恢复正常。

我预计会发生严重的崩溃,所以我将表复制到另一个数据库中,但是有人知道为什么会发生这种情况吗?或者是否有永久的修复方法?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-08-05 10:43:12

通常,数据库仅在启动期间(即SQL Server启动数据库时)处于“恢复”模式。如果您的数据库因为SQL语句而进入恢复模式,则几乎肯定会发生某种损坏。

这种损坏可以采取多种形式中的一种,并且很难诊断。在你做任何事情之前,你需要检查一些事情。

  1. 确保您的数据库有良好的备份-复制到一个单独的文件system/server.
  2. Check Windows Event Log,并查找错误。如果发现任何严重错误,请联系Microsoft.
  3. Check SQL Server ERRORLOG并查找错误。如果发现任何严重错误,请与Microsoft联系。
  4. 在服务器上的所有硬盘上运行chkdsk
  5. 对您的数据库运行dbcc checkdb。如果发现任何错误,您可以尝试使用REPAIR_REBUILD选项修复数据库。如果无法修复任何错误,请联系Microsoft.
  6. Restore将数据库的备份副本复制到不同的服务器。这将确认它是数据库中的问题还是SQL Server/machine.

中的问题。

在第4步、第5步和第6步之后,再次运行查询,看看是否可以使数据库进入恢复模式。不幸的是,腐败的发生可能有无数的原因,但比任何事情都更重要的是数据。它将确认您的数据或其他地方是否有问题。只要您有可以还原到其他SQL Server的备份,并且还原的副本不会连续进入恢复模式,您就不必太担心。

我总是把6放在最后,因为使用SQL server设置单独的服务器和移动/恢复大型数据库可能会花费大量时间;但如果您已经有了备份/测试服务器,这可能是一个很好的首选。毕竟,它不会给您的实时服务器造成任何停机。

最后,不要害怕与微软联系。数据库通常是任务关键型的,Microsoft有很多工具可以用来诊断这样的问题。

票数 7
EN

Stack Overflow用户

发布于 2012-01-22 03:00:03

回答晚了...

您的数据库是否将autoclose设置为true?设置后,DBMS必须使数据库联机,这可能会说明您的症状

票数 6
EN

Stack Overflow用户

发布于 2012-09-28 23:11:45

当SQL Server服务在写入操作过程中严重停机时,有时在服务器启动期间处于模式期间,就会发生这种情况。请按照此链接中的查询进行监控

http://errorbank.blogspot.com/2012/09/mssql-server-database-in-recovery.html

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6950401

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档