备份概述 (SQL Server)

适用范围:SQL Server

本文介绍 SQL Server 备份组件。 备份 SQL Server 数据库对于保护数据至关重要。 本讨论涵盖了备份类型和备份限制。 本主题还介绍了 SQL Server 备份设备和备份媒体。

术语

  • 备份 [动词]:从 SQL Server 数据库或其事务日志中将数据或日志记录复制到备份设备(如磁盘),以创建数据备份或日志备份。

  • 备份 [名词]:可用于在失败后还原或恢复数据的 SQL Server 数据副本。 在数据库级别以及针对数据库的一个或多个文件或文件组创建的 SQL Server 数据备份。 不能创建表级备份。 除了数据备份之外,完整恢复模式要求创建事务日志的备份。

  • 恢复模式:用于控制数据库上事务日志维护的数据库属性。 有三种恢复模式:简单恢复模式、完整恢复模式和大容量日志恢复模式。 数据库的恢复模式确定其备份和还原要求。

  • 还原一种包括多个阶段的过程,用于将指定 SQL Server 备份中的所有数据和日志页复制到指定数据库,然后通过应用记录的更改使该数据在时间上向前移动,以前滚备份中记录的所有事务。

备份类型

  • 仅复制备份独立于 SQL Server 备份常规顺序的特殊用途备份。

  • 数据备份:完整数据库的数据备份(数据库备份)、部分数据库的数据备份(部分备份)或一组数据文件或文件组的数据备份(文件备份)。

  • 数据库备份:数据库的备份。 完整数据库备份表示备份完成时的整个数据库。 差异数据库备份只包含自最近完整备份以来对数据库所做的更改。

  • 差异备份基于完整数据库、部分数据库或一组数据文件或文件组的最新完整备份的数据备份(“差异基准”),仅包含自差异基准以来发生了更改的数据区。

    部分差异备份仅记录自上一次部分备份(称为“差异基准”)以来文件组中发生更改的数据区。

  • 完整备份:一种数据备份,包含特定数据库或一组特定文件组或文件中的所有数据,以及可以恢复这些数据的足够日志。

  • 日志备份:包括以前日志备份中未备份的所有日志记录的事务日志备份。

  • 文件备份:一个或多个数据库文件或文件组的备份。

  • 部分备份仅包含数据库中部分文件组的数据(包括主要文件组、每个读/写文件组以及任何可选的指定只读文件中的数据)。

备份介质术语和定义

  • 备份设备将 SQL Server 备份写入其中并可从中还原的磁盘或磁带设备。 SQL Server 备份也可以写入 Azure Blob 存储,并且使用 URL 格式来指定备份文件的目标和名称。 有关详细信息,请参阅使用 Microsoft Azure Blob 存储执行 SQL Server 备份和还原

  • 备份媒体:已写入一个或多个备份的一个或多个磁带或磁盘文件。

  • 备份集:通过成功的备份操作添加到媒体集的备份内容。

  • 媒体簇:在媒体集中的单个非镜像设备或一组镜像设备上创建的备份。

  • 媒体集:备份媒体(磁带或磁盘文件)的有序集合,使用固定类型和数量的备份设备向其写入一个或多个备份操作。

  • 镜像媒体集媒体集的多个副本(镜像)。

备份压缩

SQL Server 2008 (10.0.x) Enterprise Edition 及更高版本支持压缩备份,SQL Server 2008 (10.0.x) 及更高版本可以还原压缩的备份。 SQL Server 2016 (13.x) Standard Edition 及更高版本支持压缩备份并还原压缩的备份。 有关更多信息,请参阅“备份压缩 (SQL Server)”。

备份操作限制

可以在数据库在线并且正在使用时进行备份。 但是,存在下列限制:

无法备份脱机数据

隐式或显式引用脱机数据的任何备份操作都会失败。 一些典型示例包括:

  • 您请求完整数据库备份,但是数据库的一个文件组脱机。 由于所有文件组都隐式包含在完整数据库备份中,因此,此操作将会失败。

    若要备份此数据库,可以使用文件备份并仅指定联机的文件组。

  • 请求部分备份,但是有一个读/写文件组处于脱机状态。 由于部分备份需要使用所有读/写文件组,因此该操作失败。

  • 请求特定文件的文件备份,但是其中有一个文件处于脱机状态。 该操作失败。 若要备份联机文件,可以省略文件列表中的脱机文件并重复该操作。

通常,即使一个或多个数据文件不可用,日志备份也会成功。 但如果某个文件包含大容量日志恢复模式下所做的大容量日志更改,则所有文件都必须都处于联机状态才能成功备份。

并发限制

SQL Server 使用联机备份进程在数据库仍在使用时备份数据库。 在备份过程中,可以进行多个操作;例如:在执行备份操作期间允许使用 INSERT、UPDATE 或 DELETE 语句。 但是,如果在正在创建或删除数据库文件时尝试启动备份操作,则备份操作将等待,直到创建或删除操作完成或者备份超时。

在数据库备份或事务日志备份的过程中无法执行的操作包括:

  • 文件管理操作,例如带有 ADD FILEREMOVE FILE 选项的 ALTER DATABASE 语句。

  • 收缩数据库或文件操作。 这包括自动收缩操作。

  • 如果在进行备份操作时尝试创建或删除数据库文件,则创建或删除操作将失败。

如果备份操作与文件管理操作或收缩操作重叠,则产生冲突。 无论哪个冲突操作首先开始,第二个操作总会等待第一个操作设置的锁超时。(超时期限由会话超时设置控制。)如果在超时期限内释放锁,第二个操作将继续执行。 如果锁超时,则第二个操作失败。

相关任务

备份设备和备份媒体

创建备份

注意

对于部分备份或仅复制备份,必须分别使用带 PARTIALCOPY_ONLY 选项的 Transact-SQL BACKUP 语句。