如果我在同一驱动器中进行了没有完全备份的差异备份会发生什么?

时间:2017-06-17 13:13:39

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

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

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

3 个答案:

答案 0 :(得分:1)

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

'恢复完整数据库备份后,恢复最新的差异数据库备份以及之后的所有事务日志备份,以使数据库进入当前状态。'

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

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

定期进行完整备份始终是个好主意。我每天都会在数据库相对较小的情况下对其数据库进行完全备份,并且每隔一天就会对它们进行非常大的备份

以下是我撰写的有关备份时间表的博客文章。

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

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

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

差异备份的简短版本是“更改内容(因此需要备份)的概念在所谓的差异更改映射页面中跟踪”并且对于日志备份是“什么是概念的概念”在事务日志本身中跟踪已更改(因此需要备份)“。

Paul Randal的版本this excellent article越长(IMO更有趣)。