gpt4 book ai didi

sql - 如果数据库总是进入 RECOVERY,这意味着什么?

转载 作者:行者123 更新时间:2023-12-04 16:51:01 27 4
gpt4 key购买 nike

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

我预计会发生重大崩溃,因此我将表复制到不同的数据库中,但有人知道为什么会发生这种情况,或者是否有永久修复?

最佳答案

通常,数据库仅在启动期间处于“恢复”模式 - 当 SQL Server 启动数据库时。如果您的数据库由于 SQL 语句而进入恢复模式,那么您几乎肯定会出现某种损坏。

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

  • 确保您有数据库的良好备份 - 复制到单独的文件系统/服务器上。
  • 查询 Windows Event Log并寻找错误。如果发现任何严重错误,请联系 Microsoft。
  • 查询 SQL Server ERRORLOG并寻找错误。如果发现任何严重错误,请联系 Microsoft。
  • 运行 chkdsk在服务器上的所有硬盘上。
  • 运行 dbcc checkdb反对你的数据库。如果发现任何错误,您可以尝试使用 REPAIR_REBUILD 选项修复数据库。如果无法修复任何错误,请联系 Microsoft。
  • 将数据库的备份副本还原到不同的服务器上。这将确认它是否是您的数据库或 SQL Server/机器中的问题。

  • 在步骤 #4、#5 和 #6 之后,再次运行查询以查看是否可以使数据库进入恢复模式。不幸的是,损坏的原因有很多,但比任何事情都重要的是数据。它将确认这是您的数据还是其他地方的问题。只要您的备份可以还原到不同的 SQL Server,并且还原的副本不会持续进入恢复模式,您就不必太担心。

    我总是把数字 6 放在最后,因为使用 SQL Server 设置单独的服务器和移动/恢复大型数据库可能需要大量时间;但是如果您已经有一个备份/测试服务器,这可能是一个不错的第一选择。毕竟,它不会导致您的实时服务器停机。

    最后,不要害怕就此与 Microsoft 联系。数据库通常是关键任务,Microsoft 有很多工具可以用于诊断此类问题。

    关于sql - 如果数据库总是进入 RECOVERY,这意味着什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6950401/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com