是否可以在 Amazon RDS 中执行类似的操作:
因此,根据AWS官方文档,数据库需要处于RESTORE状态,然后才能进行差异恢复。有没有办法让数据库在成功完全恢复后上线后进入RESTORE状态?
简短的回答是不,你不能。
这不是 RDS 特定的问题 - 这是内置于 SQL 引擎中的。如果要恢复差异,您首先需要使用 RESTORE WITH NORECOVERY 恢复相应的完整备份。
您可以在 SSMS 恢复窗口的下图中看到,差异的 Full LSN 值与完整备份的 Checkpoint LSN 相匹配,这是在应用差异之前恢复数据库时丢失的依赖项。
当数据库通过恢复进行恢复时,它会经历重做和撤消过程,以使数据库进入事务一致状态。如果数据库已经通过恢复联机,则数据库将不再在事务上与差异备份中表示的更改保持一致。如果您想应用差异,则需要执行干净的 RESTORE WITH NORECOVERY 并在恢复数据库之前应用差异。
这篇文章可能是了解 RECOVERY 与 NORECOVERY 场景中发生的情况的好读物 - https://www.sqlmvp.org/restore-database-with-norecovery/