9 . 7 还原数据库
2018-08-08 09:52 笑一笑十年少!!! 阅读(177) 评论(0) 编辑 收藏 举报9 . 7 还原数据库
许多数据库管理员都惊讶于自己的数据库备份计划在恢复过程中总会出现问题。如果
说有一个有效的备份计划是重要的,那么拥有一个有效的还原计划则更加重要。SQL Server 允许在不同时间进行不同类型的备份,但它对于如何还原这些备份比较挑剔。大多数还原
计划中的关键问题是备份的顺序。本节将讲述还原的过程、如何准备数据库以供还原,以
及如何还原使用之前描述的策略备份的数据库。
9 .7 .1 还 原 过 程
还原过程由3 个阶段构成:数据复制阶段,在这一阶段中将数据页从备份媒体复制到
数据文件中;重做阶段,在这一阶段中将从日志备份或数据库备份的日志部分还原已提交
的事务记录;撤消阶段,在这一阶段中将从日志备份或数据库备份的日志部分回滚没有提
交的事务。
数据复制和重做阶段可以跨多个备份。例如,一个数据库首先使用完整备份进行备份,
然后使用差异备份,最后使用事务日志备份。要将该数据库还原到最近的状态,需要还原
完整备份,然后还原差异备份,作为数据复制阶段的一部分。差异备份的日志部分将是重
做阶段的幵始,然后是事务日志备份中已提交的事务。在所有提交的事务都被重新应用到
数据库中之后,撤消阶段就会开始,所有未提交的事务将会回滚,数据库也将在线。
每一阶段都和下一阶段相连。如果这一序列中丢失了任何备份,该过程就会停留在丢
失序列之前的备份的末尾。图 9-8显示了一个丢失或损坏的日志备份。虽然存在另外两个
正常的日志备份,但是由于晚上12:01记录的事务的影响,它们无法使用。事务日志备份
未知。数据库只能还原到上午9:00的事务日志备份的末尾。
9 .7 .2 延迟恢复
当还原一个备份序列(例如一个完整备份和一系列事务日志备份)时,撤消阶段和数据
库恢复将要延迟,以使每一个附加的备份都能够还原。数据库恢复之后,附加的备份就不
能应用了。要延迟恢复,必须在RESTORE DATABASE命令中指定NO RECOVERY选项。