【问题标题】:What happen if I made a Differential Backup without Full Backup in same drive?如果我在同一驱动器中进行了差异备份而没有完全备份,会发生什么情况?
【发布时间】:2017-06-17 13:13:38
【问题描述】:

我有 SQL Server 2012,还有一个备份驱动器,但它确实已满。完成后,我想将所有备份移动到网络驱动器。我关心的是差异备份和日志备份,因为我不知道他们是否需要查看要完成的完整备份,或者它在 SQL Server 中是如何工作的。

将完整备份移动到另一个驱动器,然后执行每日差异备份是否安全?

【问题讨论】:

  • 如果我是你,我不会移动它们。我会更改所有备份保存到的位置,然后手动运行完整备份,因此新的完整备份在另一个驱动器上。那么差异和日志备份保存到不同的位置应该不是问题。

标签: sql-server sql-server-2012 database-backups


【解决方案1】:

让我们记住先恢复的黄金法则。

‘恢复完整数据库备份后,恢复最新的差异数据库备份和之后的所有事务日志备份,使数据库恢复到当前状态。’

因此,如果您只有一个完整备份,然后继续进行差异备份,那么差异备份的大小将每天都在增长。如果发生灾难,您可能必须找到较旧的完整备份,然后恢复最新的差异备份。

理论上:如果您进行一次完整备份并移至其他地方并继续进行差异备份工作。 但是,您的完整备份可能会损坏或差异备份有问题。在这种情况下,您将错过另一个完整备份。

定期进行完整备份总是一个好主意。我每天对我的数据库进行完整备份,当它们相对较小时,每隔一天当它们非常大时。

这是我写的关于备份时间线的博文。

https://blog.sqlauthority.com/2009/07/14/sql-server-backup-timeline-and-understanding-of-database-restore-process-in-full-recovery-model/

【讨论】:

    【解决方案2】:

    为了回答您提出的问题,SQL Server 在进行差异备份和日志备份时不会访问完整备份本身。相反,它会跟踪数据库本身需要备份的内容。

    差异备份的简短版本是“在所谓的差异更改映射页面中跟踪已更改(因此需要备份)的概念”,而日志备份是“更改的概念”更改(因此需要备份)在事务日志本身中进行跟踪”。

    更长(而且 IMO 更有趣)的版本是 Paul Randal 的 this excellent article

    【讨论】:

      【解决方案3】:

      要恢复,您需要在差异之前恢复完整备份。正常的恢复顺序是依次恢复最新的全备份、全备份后的最新差异备份、差异后的日志备份。

      显然,无论您将备份文件存储在何处,都需要可以使用这些备份文件才能进行恢复。如果您丢失了本地完整备份,则根本无法恢复。您可以考虑将完整备份复制到网络共享作为额外的安全层。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-02-12
        • 2021-01-28
        • 1970-01-01
        • 1970-01-01
        • 2015-06-07
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多