差异备份所基于的是最近一次的完整备份。这称为差异“基准”。差异备份仅包括自建立差异基准后更改的数据。
差异备份的大小取决于自建立差异基准后更改的数据量。通常,差异基准越旧,新的差异备份就越大。特定的差异备份将在创建备份时捕获已更改的区的状态。如果创建一系列差异备份,则频繁更新的区可能在每个差异中包含不同的数据。当差异备份的大小增大时,还原差异备份会显著延长还原数据库所需的时间。因此,建议按设定的间隔执行新的完整备份,以便为数据建立新的差异基准。例如,您可以每周执行一次整个数据库的完整备份(即完整数据库备份),然后在该周内执行一系列常规的差异数据库备份。
下图显示的是差异备份的工作原理。该图显示了二十四个数据区,其中的六个已发生更改。差异备份只包含这六个数据区。差异备份操作取决于位图页,此页针对每个区包含一位。对于自建立差异基准后更新的每个区,该位在位图中设置为 1。
注意: |
---|
仅复制备份不能更新差异位图。因此,仅复制备份不能用作差异基准或差异备份。仅复制备份不会影响后续差异备份。 |
在建立基准之后立即执行的差异备份通常明显小于差异基准。这可以节省存储空间和备份时间。但是,当数据库随着时间的推移发生更改时,数据库与特定差异基准之间的差异将增大。差异备份与其基准间隔的时间越长,差异备份可能就越大。这意味着差异备份的大小最终会接近差异基准的大小。较大的差异备份将失去备份更快、更小的优势。
在还原过程中,还原差异备份之前,必须先还原其基准。然后只需还原最新的差异备份,即可将数据库前滚到创建差异备份的时间。通常,应该先还原最新的完整备份,然后再还原基于该完整备份的最新差异备份。
在创建和恢复差异备份时,SQL Server 将数据库作为一组文件来处理。这会影响差异备份的内容以及差异备份与数据库和文件备份结合使用的方式。SQL Server 数据库引擎旨在轻松且无任何意外地处理常用的方案。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/16436858/viewspace-539863/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/16436858/viewspace-539863/