想象一下以下时间轴:
- T0 = 完全备份
- T1 = 日志备份
- T2 = 日志备份
- T3 = 日志备份
- T4 = 完全备份
- T5 = 日志备份
以上这些都发生后,如果你还有所有的备份文件,你将如何恢复到T3和T4之间的时间点?
我的理解是T4的full backup应该会导致日志文件将T0和T4之间的事务标记为inactive,所以理论上事务日志可能不再包含T4之前时间的事务。特别是,T5 的日志备份将只包含 T4 之后的事务信息。这个对吗?
想象一下以下时间轴:
以上这些都发生后,如果你还有所有的备份文件,你将如何恢复到T3和T4之间的时间点?
我的理解是T4的full backup应该会导致日志文件将T0和T4之间的事务标记为inactive,所以理论上事务日志可能不再包含T4之前时间的事务。特别是,T5 的日志备份将只包含 T4 之后的事务信息。这个对吗?
你应该这样恢复:
我不明白你在这里说的话:
但是这个:
是不正确的。
每个都
log backup
从LSN
之前停止的地方开始,所以和之间log backup
是否有任何东西都没有full backup
关系。T3
T5
您可以通过仅恢复来采取“捷径”
T4
,T5
以防万一您感兴趣的时间是 afterT4
,但这不是您的情况,因此您应该恢复所有log backups
直到涵盖您感兴趣的时间的最后一个,从那full backup
开始在您感兴趣的时间之前。PS 知道唯一可以“截断”
log
infull recovery model
的东西可能对您有用log backup
。Full backup
与“标记交易无效”无关。这篇文章SQL Server DBA 的每日迷思:(30/30) 备份迷思也可能有所帮助。