1

重新启动服务器后,其中一个数据库进入 mode In recoverylog size is 117 Gig) _

当我查看 errorlo 时,最后一条消息是:

2015-03-11 11:27:43.04 spid36s 数据库 'XXXx_DW' (10) 的恢复已完成 3%(大约还剩 114050 秒)。第 2 阶段,共 3 阶段。这只是一条信息性消息。无需用户操作。

唯一的解决方案是等待..?如果我将最新的备份还原到数据库会发生什么情况,它会上线还是不上线?任何建议表示赞赏

4

2 回答 2

2

首先,我想问一下,当您重新启动 SQL Server 时,您是否确定没有作业正在运行,没有长时间运行的事务,没有用户正在运行某些事务?

如果您错过了以上几点,我会说您不知道如何关闭 SQL 服务器,特别是生产服务器。

当您关闭 SQL Server 时,所有正在进行的事务将被停止/取消,当数据库联机时,SQL Server 崩溃恢复将发生,这就是消息中发生的情况

数据库 'XXXx_DW' (10) 的恢复已完成 3%

恢复分为三个阶段分析,重做和撤消。completely只有在所有三个恢复阶段都完成后才能访问数据库。在企业特性的快速恢复中,数据库在重做阶段之后上线。是的,您唯一的解决方案是等待。所有这些阶段都需要使数据库进入一致状态,除非它发现自己处于一致状态数据库不会上线

如果我将最新备份还原到数据库会发生什么

此时,当数据库处于恢复状态时,您将无法对其执行还原,因为它已被锁定并且不允许访问。您可以使用不同的名称恢复备份,但我认为这样做没有任何优势。

故事寓意:不要只是盲目地重启服务器。

于 2015-03-12T07:46:30.430 回答
0

如果您长时间停留在“处于恢复模式”中,那么您需要采取以下步骤:

注意:在执行以下步骤之前,您需要将数据库备份到标记,然后才能执行以下步骤。

  1. 转到数据库的物理位置.. 即我的数据库名称是 Optimistic.mdf & Optimistic.ldf 检查它的日期和时间。

  2. 如果发现没问题,则转到 mssql 服务并停止您的实例服务。即实例名称是默认值->MSSQL 或命名实例->让我们考虑 robocom(我的实例名称您的实例名称将不同,因此请检查)。现在停止该服务。

  3. 从物理位置复制数据库并将其粘贴到其他位置,例如文件夹外或其他驱动器。在我的情况下,我将有问题的数据库的所有 2 个 mdf 和 ldf 文件复制到文件夹外(因为文件夹位置已经与 sql server 相关联。所以它将保持安全。

  4. 现在再次转到已经存在问题数据库的物理位置,并一一删除 mdf 和 ldf 文件。

  5. 刷新该文件夹并剪切您在另一个位置安全保存的数据库并将其粘贴到已删除的位置。

  6. 启动您停止的 Sql 服务。

  7. 启动 SQL Management Studio 并刷新它。

希望您的“恢复”模式问题能够解决......如果您长时间处于恢复模式,请应用此解决方案......谢谢......

于 2020-07-12T05:09:27.193 回答