【问题标题】:What happens to differential backups when Copy Only backup is restored?还原“仅复制”备份时差异备份会发生什么情况?
【发布时间】:2016-09-21 02:21:53
【问题描述】:

我有一个数据库 (Sql Server 2014),它被设置为定期进行完整和更频繁的差异备份;如果迁移失败,我需要迁移该数据库并恢复它。为防止任何数据丢失,我将在尝试迁移之前备份数据库。

我了解我不应该进行完整备份,因为它会影响后续差异。如果我只做一个被阻止的复制备份。但是,如果我使用仅复制备份进行还原,后续差异是否可以工作并且可以还原?我用一个较小的数据库做了一个实验,我注意到在恢复副本时,仅备份更改了 DatabaseBackupLSN,我仍然能够进行差异,并且还能够使用它们来恢复数据库(将差异与完整备份相结合)预先)。但是,我还没有发现任何东西可以证实这在所有情况下都有效。

提前致谢!

【问题讨论】:

  • 为什么要进行带外备份?也就是说,为什么不使用现有的完整备份呢?
  • 我也在评估作为一个选项...我可以利用创建计划备份的存储过程并在我进行迁移之前触发差异备份,然后使用相同的备份进行恢复.我犹豫要不要使用这个选项,因为这些脚本不在我的控制之下,而且它增加了一些复杂性,我必须与拥有这些脚本的团队进行协调。
  • 我假设您将隐藏“迁移”作为一个术语,意思是“移动到另一台服务器”。另外,您的数据库采用哪种恢复模式?
  • 不,这是一个带有一些小数据更新的架构迁移,作为安装新版本软件的一部分。数据库处于简单恢复模式。
  • 以防万一有人发现它......即使我的发现表明恢复仅副本备份不会影响备份链,我最终还是使用了我在上面评论中提到的选项。所以这个问题没有答案~

标签: sql-server database-administration


【解决方案1】:

差异包含自上次完整备份以来修改的所有数据页,因此它们只能与上次完整备份一起用于恢复。例如,如果您有以下事件序列:

  1. 执行数据库完整备份
  2. 在数据库中进行更改
  3. 执行仅复制备份
  4. 在数据库中进行更多更改
  5. 执行差异备份

如果您必须从这些备份中恢复数据库,则从 1 恢复完整备份并从 5 恢复差异备份会将您的数据库恢复到第 5 步的状态。如果您只有拥有完整备份备份您只能恢复到第 1 步,如果您 only 有差异,您将无法恢复任何内容(因为差异将与丢失的完整备份相关)。如果您只有仅复制备份和差异备份,您可以恢复仅复制备份,并且您将恢复到步骤 3 的状态,但您不能使用差异,因为它与丢失的完整备份相关.

因此,回答您的问题,如果您从仅复制备份中恢复,您仍然可以进行差异备份,但它们只有在与上一个 完整 备份结合使用时才可用。仅复制备份的主要目的是允许在不使差异所需的最后一次完整备份失效的情况下进行备份。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-12
    相关资源
    最近更新 更多