我有一个数据库,它有两个文件组(都是 r/w),每个文件组有两个文件。备份顺序是:
- 完整备份
- 多个事务日志备份 (tlog set1)
- 文件组 1 的文件 1 的完整备份
- 多个事务日志备份(tlog set2)
- 文件组 1 的文件 2 的完整备份
- 多个事务日志备份(tlog set3)
- 文件组 2 的文件 1 的完整备份
- 多个事务日志备份(tlog set4)
- 文件组 2 的文件 2 的完整备份
- 多个事务日志备份(tlog set5)
- 尾日志备份
我在网上找到的指导是要恢复 file1,我需要恢复 file1 备份,然后前滚 tlog 集 1-5 和尾日志。
但是,假设我需要在最短时间内恢复整个数据库,我可以使用以下顺序吗:
Restore file1 filegroup1
restore tlog set2 --roll forward to file 2 backup
restore file2 filegroup1
restore tlog set3
restore file1 filegroup2
restore tlog set4
restore file2 filegroup2
restore tlog set5
restore tail
我必须做
Restore file1 filegroup1
Restore tlog set2 -- roll forward to current time
Restore tlog set3
Restore tlog set4
Restore tlog set5
Restore tail
Restore file2 filegroup1
Restore tlog set2 -- roll forward to current time
Restore tlog set3
Restore tlog set4
Restore tlog set5
Restore tail
...
在移动下一个文件之前将每个文件联机(或者甚至可能只使用完整备份然后应用所有日志备份)?无法找到明确的答案。
另外,我是否有必要恢复初始的完整备份,因为文件备份覆盖了整个数据库?
文档示例仅恢复一个文件组,即恢复完整文件备份,然后前滚通过每个日志使文件组保持最新。我想知道的情况是,如果您要还原多个文件备份,是否必须将每个文件前滚到现在,或者您是否可以还原第一个文件备份,将事务日志滚动到第二个文件备份,然后前滚到现在。我想尽量减少必须应用日志备份的次数。