我很难找到合适的备份方法,以便可以恢复到特定的时间点。我可以做一个完整的备份/还原,甚至可以还原最后一个差异备份,但是尝试之间进行任何操作都会使我“由于LSN链断裂而无法创建还原计划”,所以我缺少了一些东西。
这是我每天凌晨1点执行的操作:
BACKUP DATABASE MyDatabase TO DISK = @BackupPath
BACKUP LOG MyDatabase TO DISK = @BackupPath
然后,我每小时执行一次:
BACKUP DATABASE MyDatabase TO DISK = @DIFFERENTIALBackupPath WITH DIFFERENTIAL
BACKUP LOG MyDatabase TO DISK = @DIFFERENTIALBackupPath
我可以在@BackupPath还原数据库,然后从@DIFFERENTIALBackupPath应用最新的备份,但是,如果我尝试在时间轴上返回除最新时间以外的任何时间,则会收到该错误。我确实在时间线中看到了标志,这些标志显示了备份的位置。
我究竟做错了什么?
您需要保留所有日志备份。您可以还原完整备份,然后还原所有日志备份。或者,您可以还原完整备份,然后还原在较早的时间点进行的差异备份,然后还原在差异之后进行的日志备份。
典型的备份顺序可能类似于:
FLLLLLDLLLLLDLLLLLFLLLLLDLLLLLDLLLLLFLLLLLDLLLLLDLLLLL
^
P
到指示的日志备份所覆盖的时间点的有效还原序列为:
FLLLLL LLLLL LLL
要么
F DLLL
要么
F DLLLLL LLL
差异备份只是减少您需要还原的日志备份数量的捷径。您甚至可以从较早的完整备份开始,只要您拥有完整的日志备份链,直到恢复的时间点即可。
例如,这是有效的还原序列:
FLLLLL LLLLL LLLLL LLLLL LLLLL LLLLL LLLLL LLLLL LLLLL
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。