差异文件备份

 本主题仅与包含多个文件组的 SQL Server 数据库相关。

注意注意

差异文件备份需要以完整文件备份为基础。有关完整文件备份的详细信息,请参阅完整文件备份

差异文件备份为创建当前文件备份提供了一种快速并且节省空间的方式。在简单恢复模式下,仅为只读文件组启用了差异文件备份。在完整恢复模式下,允许对具有差异基准的任何文件组进行差异文件备份。在使用差异文件备份时,由于降低了必须还原的事务日志量,因而可以极大地缩短恢复时间。

对于以下情况,可以考虑使用差异文件备份:

  • 文件组中有些文件的备份频率低于其他文件的备份频率。

  • 文件很大而且数据不常更新;或者反复更新相同数据。

有关如何使用差异备份的详细信息(包括最佳方法),请参阅使用差异备份

重要说明重要提示

避免对同一个数据库同时使用数据库差异备份和差异文件备份。

读/写数据库中只读文件组的差异备份

当创建差异基准时,即使只有一个文件组是只读的,读/写数据库的差异备份也能正常执行。对于读/写数据库的任何差异备份,SQL Server 数据库引擎都是在主文件中记录差异基准。

注意注意

对于只读数据库,备份时无法更新主文件的差异位图。有关详细信息,请参阅备份只读数据库

备份主读文件组

在“主读文件组”中,文件组在大部分情况下都是只读的;但偶尔可以在较短的维护期内将文件组设置为读/写。例如,为了大容量导入文件,可以将通常只读的文件组临时设置为读/写,然后在导入完成后再将其重置为只读。

在更新完成后,可以通过备份文件组来保护新数据。这种备份的最佳方法取决于对文件所做更改的多少:

  • 如果文件组有显著变化,且文件组仍处于读/写模式,则执行完整文件备份。由于当前文件组处于读/写模式,因此备份操作可以重置差异位图,为一系列新的差异备份做准备。然后,再把文件组改回只读模式,并立即创建差异文件备份,以便于还原现在的只读文件组。

  • 如果文件组自上一次完整文件备份后没有发生多少变化(假定存在一个完整文件备份作为差异基准),则将文件组立即设置回只读,然后创建差异文件备份。

注意注意

IsReadOnly 属性是对文件组而不是对单个文件设置的。如果文件组为只读(即如果该文件组的 IsReadOnly 属性为 True),则该文件组中的所有文件均为只读。

创建差异文件备份

创建差异文件备份所需的 BACKUP 语法为:

BACKUP DATABASE database_name <file_or_filegroup> [ ,...n] TO <backup_device> WITH DIFFERENTIAL

创建差异文件备份

注意注意

有关如何使用差异备份的详细信息(包括最佳方法),请参阅使用差异备份

注意注意

维护计划向导不支持文件备份。