美文网首页
SQL Server 日志与恢复模式

SQL Server 日志与恢复模式

作者: cebdba | 来源:发表于2017-02-27 19:39 被阅读0次

简单恢复模式下,从最近一次备份到当前的数据都会存在丢失的风险。而完整备份模式使得数据丢失的风险大大减少。而实际上,生产中也多采用完整恢复模式来保证数据的安全性。下面,小D着重介绍下完整恢复模式下数据恢复中日志的作用。


在简单恢复模式下,日志几乎是不用进行管理的。每一次CheckPoint都有可能截断日志,从而来回收不活动的VLF以便重复利用空间。因此在简单恢复模式下,日志的空间使用几乎可以不去考虑。与之相反,在完整恢复模式下,日志作为恢复数据的重要组成部分,日志的管理和对日志空间使用的管理则需要重视。
完整恢复模式通过将对数据库的任何修改记录到日志来给予数据最大程度的保护,可以使数据恢复到在日志范围内的任何时间点。在完整恢复模式下,CheckPoint不会截断日志。只有对日志的备份才会截断日志。因此日志备份的目的主要有两个:减少活动日志的大小及减少日志损坏的风险。
从日志恢复数据的原理是Redo,也就是将日志中记载的事务再重做一遍。这个开销和从完整或差异备份中恢复相比,要大很多。因此尽可能的减少利用日志的恢复量,而使用完整或者差异备份来恢复更多的数据。


恢复次序

从备份恢复数据需要经历如下几步骤:

  • 1.复制数据阶段:从完整备份和差异备份中将数据,索引页和日志复制到被恢复数据库文件。
  • 2.Redo(Roll Forward)阶段:将记录在日志中的事务应用到从备份中复制过来的数据。使数据Roll Forward到指定的时间点。这个阶段完成后,数据库还处于不可使用状态(Restoring)。
  • 3.Undo(Roll Back)阶段:这也是传说中的Recovery,将任何未提交的事务回滚。这个阶段过后,数据库处于可用状态,任何后续备份将不能接着应用到当前数据库。因此,微软推荐的最佳实践是使用NoRecovery选项不进行Undo阶段,而是在所有备份恢复后单独进行Undo阶段,这个操作可以通过还原日志尾部时指定Recovery选项进行。

相关文章

  • SQL Server 恢复模式

    SQL Server数据库有三种恢复模式:完整恢复模式、简单恢复模式和大容量日志恢复模式: 1 Full 完整恢复...

  • SQL Server 日志与恢复模式

    简单恢复模式下,从最近一次备份到当前的数据都会存在丢失的风险。而完整备份模式使得数据丢失的风险大大减少。而实际上,...

  • 2018-03-01

    SQL SERVER大话存储结构(5)_SQL SERVER 事务日志解析 阅读目录(Content) 1 基本介...

  • 【Sql Server】SQL SERVER 收缩日志

    正文 事务日志记录着在相关数据库上的操作,同时还存储数据库恢复(recovery)的相关信息。 收缩日志的原因有很...

  • SQL Server 日志传送(Log Shipping)

    SQL Server的事务日志传送备份是仅次于镜像的高可靠性备份方案,可以达到分钟级的灾难恢复能力。其项目实施成本...

  • SQL Server 日志

    SQL Server中的事务日志无疑是SQL Server中最重要的部分之一,其重要程度甚至比数据文件尤甚。因为S...

  • 将高版本MSSQL数据库恢复到低版本数据库的方法

    有时候我们需要将MS SQL SERVER数据库的数据从高版本恢复到低版本,因为MS SQL Server的备份功...

  • MS SQL Server

    SQL Server 如何在安装后更改安全模式 安装过程中,SQL Server 数据库引擎设置为 Windows...

  • mysqlbinlog 常用命令

    日志还原前提,必须数据有完整备份,恢复昨天的完整备份,然后根据日志恢复昨天到现在的日志sql,mysql安装目录b...

  • 关于PHP连接SQL Server

    配置PHP与SQL Server的连接: 原本计划在NIIT课上将PHP与SQL Server的连接问题解决,但是...

网友评论

      本文标题:SQL Server 日志与恢复模式

      本文链接:https://www.haomeiwen.com/subject/zayowttx.html