我想问一个关于恢复数据库操作时的恢复过程的问题。假设我用 恢复了一个完整备份,NORECOVERY
然后用 .恢复了两个 t-log 备份NORECOVERY
。最后,我将使用RECOVERY
关键字恢复最后的第三个 t-log 备份。
问题是:当我使用RECOVERY
关键字恢复最后一个 t-log 备份时,SQL Server 是执行重做和撤消阶段还是只执行撤消阶段?
在我看来,当我们使用NORECOVERY
关键字恢复备份时,SQL Server 也会执行重做阶段。使用备用关键字恢复 t-log 备份也是如此。在这种情况下,SQL Server 会创建一个单独的文件,其名称只包含“ undo ”而不是任何“ redo ”。
RESTORE 语句文档的 RECOVERY 和 NORECOVERY部分的比较应该可以帮助您解决这个问题: