如何创建差异数据库备份 (Transact-SQL)

本主题说明如何创建差异数据库备份。

重要说明重要提示

除非已经先备份了数据库,否则不能创建差异数据库备份。

创建差异数据库备份

  1. 执行 BACKUP DATABASE 语句可以创建差异数据库备份,同时指定:

    • 要备份的数据库的名称。

    • 写入完整数据库备份的备份设备。

    • DIFFERENTIAL 子句,用于指定仅备份自上次创建完整数据库备份之后已更改的数据库部分。

    要求语法为:

    BACKUP DATABASE database_name TO <backup_device> WITH DIFFERENTIAL

  2. 指定(可选):

    • INIT 子句,用于覆盖备份媒体,并在备份媒体上将该备份作为第一个文件写入。如果没有现有的媒体标头,则会自动编写一个。

    • SKIP 和 INIT 子句,用于重写备份媒体,即使备份媒体中的备份未过期,或媒体本身的名称与备份媒体中的名称不匹配也重写。

    • FORMAT 子句,通过它可以在第一次使用媒体时对备份媒体进行初始化,并覆盖任何现有的媒体标头。

      如果已经指定了 FORMAT 子句,则不需要指定 INIT 子句。

      重要说明重要提示

      在使用 BACKUP 语句的 FORMAT 子句或 INIT 子句时,一定要十分小心,因为它们会破坏以前存储在备份媒体中的所有备份。

示例

以下示例为 MyAdvWorks 数据库创建完整数据库备份和差异数据库备份。

-- Create a full database backup first.
BACKUP DATABASE MyAdvWorks 
   TO MyAdvWorks_1 
   WITH INIT
GO
-- Time elapses.
-- Create a differential database backup, appending the backup
-- to the backup device containing the full database backup.
BACKUP DATABASE MyAdvWorks
   TO MyAdvWorks_1
   WITH DIFFERENTIAL
GO