创建差异数据库备份 (SQL Server)

本主题介绍如何使用 SQL Server Management Studio 或 Transact-SQL 在 SQL Server 2014 中创建差异数据库备份。

本主题内容

在您开始之前

局限性与限制

  • 不允许在显式或隐式事务中使用 BACKUP 语句。

先决条件

  • 创建差异数据库备份需要存在以前的完整数据库备份。 如果所选数据库从未备份过,请在创建任何差异备份之前运行完整数据库备份。 有关详细信息,请参阅创建完整数据库备份 (SQL Server)

建议

  • 随着差异备份的大小增加,还原差异备份可以显著增加还原数据库所需的时间。 因此,建议按照设置间隔执行新的完整备份,为数据建立新的差异基础。 例如,可以执行整个数据库的每周完整备份(即完整数据库备份),然后是一周中的常规差异数据库备份。

安全

权限

默认情况下,为 sysadmin 固定服务器角色以及 db_ownerdb_backupoperator 固定数据库角色的成员授予 BACKUP DATABASE 和 BACKUP LOG 权限。

备份设备的物理文件的所有权和权限问题可能会妨碍备份操作。 SQL Server 必须能够读取和写入设备;运行 SQL Server 服务的帐户必须具有写入权限。 但是,用于在系统表中为备份设备添加项目的 sp_addumpdevice不检查文件访问权限。 在进行备份或还原尝试时,只有访问物理资源时,备份设备的物理文件上才可能会出现此类问题。

使用 SQL Server Management Studio

创建差异数据库备份

  1. 连接到 Microsoft SQL Server 数据库引擎的相应实例后,在对象资源管理器中,单击服务器名称以展开服务器树。

  2. 展开 “数据库”,然后根据数据库的不同,选择用户数据库,或展开 “系统数据库” ,再选择系统数据库。

  3. 右键单击数据库,指向 “任务”,然后单击“ 备份”。 将出现 “备份数据库” 对话框。

  4. “数据库” 列表框中,验证数据库名称。 您也可以从列表中选择其他数据库。

    可以为任何恢复模式执行差异备份(完整、大容量记录或简单)。

  5. “备份类型 ”列表框中,选择“ 差异”。

    重要

    选中 差异 后,请验证是否清除了 “仅复制备份 ”复选框。

  6. 对于“备份组件”,请单击“数据库”。

  7. 可以接受 “名称” 文本框中建议的默认备份集名称,也可以为备份集输入其他名称。

  8. 或者,在 “说明” 文本框中,输入备份集的说明。

  9. 指定备份集何时过期:

    • 若要使备份集在特定天数后过期,请单击“”(默认选项),并输入设置创建后备份集过期的天数。 此值可以是 0 到 99999 天;值为 0 天意味着备份集永远不会过期。

      “服务器属性”对话框(“数据库设置”页)的默认备份介质保留(以天为单位)选项中设置默认值。 若要访问此项,请在对象资源管理器中右键单击服务器名称并选择属性;然后选择“ 数据库设置” 页。

    • 若要使备份集在特定日期过期,请单击 “打开”,然后输入该集到期的日期。

  10. 单击 “磁盘 ”或“ 磁带”选择备份目标的类型。 若要选择最多包含单个介质集的 64 个磁盘或磁带驱动器的路径,请单击“ 添加”。 选择的路径将显示在 “备份到” 列表框中。

    若要删除备份目标,请选择它并单击“ 删除”。 若要查看备份目标的内容,请选择它并单击 “内容”。

  11. 若要查看或选择高级选项,请单击“选择页面”窗格中的选项

  12. 选择一个覆盖媒体选项,方法是单击以下任一选项:

    • 备份到现有媒体集

      对于此选项,请单击“ 追加到现有备份集 ”或 “覆盖所有现有备份集”。 (可选)选中 “检查媒体集名称和备份集过期 ”复选框,还可以在 “媒体集名称 ”文本框中输入名称。 如果未指定名称,则会创建一个具有空白名称的媒体集。 如果指定介质集名称,则会检查介质(磁带或磁盘),以查看实际名称是否与此处输入的名称匹配。

      如果将媒体名称留空并选中该框以针对媒体进行检查,则成功将等于媒体上的媒体名称也为空白。

    • 备份到新的媒体集,并清除所有现有备份集

      对于此选项,请在 “新建媒体集名称 ”文本框中输入一个名称,并且(可选)在 “新建媒体集说明 ”文本框中描述媒体集。

  13. “可靠性 ”部分,(可选)检查:

  14. 如果备份到磁带驱动器(在“常规”页的“目标”部分中指定),则“备份后卸载磁带”选项是激活的。 单击此选项将激活卸载前倒带磁带选项。

    注释

    除非正在备份事务日志(如“常规”页的“备份类型”部分指定),否则事务日志部分中的选项处于非活动状态。

  15. SQL Server 2008 Enterprise 及更高版本支持 备份压缩。 默认情况下,是否压缩备份取决于 备份压缩默认 服务器配置选项的值。 但是,无论当前的服务器级别默认值如何,都可以通过检查 压缩备份来压缩备份,并且可以通过检查 “不压缩备份”来阻止压缩。

    查看当前备份压缩默认值

    注释

    或者,可以使用维护计划向导创建差异数据库备份。

使用 Transact-SQL

创建差异数据库备份

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

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

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

    • 差异化子句,指定仅备份数据库中在创建最后一次完整数据库备份后发生变化的部分。

    所需的语法为:

    BACKUP DATABASE database_name TO <backup_device> WITH DIFFERENTIAL

示例 (Transact-SQL)

此示例为 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  

另请参阅

差异备份 (SQL Server)
创建完整数据库备份 (SQL Server)
备份文件和文件组 (SQL Server)
还原差异数据库备份 (SQL Server)
还原事务日志备份 (SQL Server)
维护计划
完整文件备份 (SQL Server)