还原数据库时NORECOVERY和RECOVERY有什么区别?

Phi*_*ann 15 sql-server

任何人都可以解释主要区别吗?

任何帮助表示赞赏。

小智 14

  • NORECOVERY 指定不发生回滚。这允许前滚以继续序列中的下一个语句。在这种情况下,还原序列可以还原其他备份并将它们前滚。

  • RECOVERY(默认)表示在当前备份完成前滚后执行回滚。恢复数据库要求正在恢复的整个数据集(前滚集)与数据库一致。如果前滚集尚未前滚到足以与数据库保持一致并且指定了 RECOVERY,则数据库引擎会发出错误。

来源

  • 谢谢,博客很好!为我感到羞耻。谷歌也会回答这个问题。 (3认同)

Aar*_*ams 5

还有更多。使用 NORECOVERY 发出的数据库还原处于挂起状态且无法访问。当数据库处于这种状态时,可以将日志和差异添加到数据库中,因为它没有发生独立的活动。

RECOVERY 将数据库置于操作状态。此时您不能再向其中添加备份集的任何组件。