数据库备份只是基础,恢复才是终极任务。如果数据库只实施备份,而不做定期数据恢复演练,也将会是管理上的灾难。
恢复注意点:
在数据库数据文件因各种原因发生损坏时,如果日志文件没有损坏。可以通过备份结尾日志(Tail of log)使得数据库可以恢复到灾难发生时的状态。
在DB_1中做了完整备份,在Log_1,Log_2处做了日志备份。在Log_2备份之后不久,发生了故障。从Log_2备份到灾难发生时之间的日志。就是结尾日志(Tail of log)。
如果不能备份尾端日志,则数据库只能恢复到Log_2备份的点。尾端日志期间所做的改动全部丢失。[步骤参考]
※ 此步骤只作参考,请各位自行根据实际情况进行自己环境的细化!切勿生搬硬套!
右键数据库 -> 选择[还原数据库]
还原数据库的常规页
源=>选择[设备],添加备份文件,数据库选择需要恢复的库。
目标=> 数据库名称设置,点击[时间线]设置还原点
还原点必须要基于连续的事务日志,否则无法还原。
还原数据库的文件页
勾选[将所有文件重新定位到文件夹],设置 [数据文件文件夹] 与 [日志文件文件夹]
还原数据库的选项页
如果是在业务环境实施演练恢复,请务必取消[结尾日志备份]!此选项默认会勾选,但他会对现有业务数据库造成影响。
还原选项:
- 覆盖现有数据库:<通常只有在明确现有数据库完全不可用才会选择,否则请谨慎选择>
- 保留复制设置:此选项通常在同步复制环境中运用,普通数据库可以忽略
- 限制访问还原的数据库:避免还原未完成即被外部用户访问
恢复状态:
- Restore with recovery:通过回滚未提交的事务,使数据库处于可以使用的状态。无法还原其他事务日志。
- Restore with norecovery:不对数据库执行任何操作,不回滚未提交的事务。可以还原其他事务日志。
- Restore with standby:使数据库处于只读模式。撤销未提交的事务,但将撤销操作保存在备用文件中,以便可使恢复效果逆转。
结尾日志备份:
- 还原前进行结尾日志备份:默认勾选
– 保持源书库处于正在还原状态:默认勾选
※ 如果恢复时间点不是最新,则不要勾选结尾日志备份。如完整备份、差异备份还原均不需要此选项,事务日志恢复到最新状态则需要设置。
恢复成功
[注意事项]
- 数据库处于[正在还原…]无法访问数据。
解决方案=> 新建查询 执行RESTORE database dbname with recovery