从完全恢复切换到简单恢复

Ste*_*eve 5 sql-server backup recovery

这是一个有助于我理解的理论问题。在sql server中从完全恢复模式切换到简单恢复模式的过程是什么?

是不是流程如下:

  1. 在切换到 simple 之前进行 trans log 备份,以便我可以在切换之前进行时间点恢复。
  2. 切换到简单。
  3. 可能使用 TRUNCATE ONLY 运行 DBCC SHRINKFILE 以释放一些磁盘空间。
  4. 可能更改数据库以减少 trans 日志文件的大小。
  5. 执行完整备份。

我想我的主要问题是关于第 1 点。如果我不进行 trans log 备份,将 SIMPLE 丢弃最终 trans log 中的任何数据,或者切换到 SIMPLE 备份 trans log(我认为不会)。

此外,我认为最好的做法是在切换到 SIMPLE 后执行完整备份,以便可以在检查点将新事务从 trans 日志推送到数据文件。

Sha*_*nky 2

恕我直言,MUST take transaction log backup before swithching to simple recovery它会对您的 PIT 恢复以及BOL 文章中记录和推荐的内容有所帮助。它不会造成任何伤害,而且你会有一个故障保护。

另请注意,当数据库负载相对较小时,建议更改恢复模式。虽然您可以在高峰时段更改它,但更改恢复模式确实会锁定数据库,如果负载很高,您可能会面临延迟。

如果您从完全恢复更改为简单恢复,则不会丢失任何事务/更改。更改恢复模型将强制创建一个检查点,该检查点将提交可以提交的事务。将恢复模式更改为简单自动检查点后将截断事务日志(如果没有长时间运行的事务保存日志)

第3点和第4点完全不需要,您有具体理由这样做吗?

第5点是必要的,在简单恢复中,您至少必须每天对数据库进行完整备份。但数据库的备份应按照约定的RPO和RTO进行。您还可以在简单恢复中进行差异备份以减少RTO。