备份概述 (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 FILE
或REMOVE FILE
选项的ALTER DATABASE
语句。收缩数据库或文件操作。 这包括自动收缩操作。
如果在进行备份操作时尝试创建或删除数据库文件,则创建或删除操作将失败。
如果备份操作与文件管理操作或收缩操作重叠,则产生冲突。 无论哪个冲突操作首先开始,第二个操作总会等待第一个操作设置的锁超时。(超时期限由会话超时设置控制。)如果在超时期限内释放锁,第二个操作将继续执行。 如果锁超时,则第二个操作失败。
相关任务
备份设备和备份媒体
- 为磁盘文件定义逻辑备份设备 (SQL Server)
- 为磁带机定义逻辑备份设备 (SQL Server)
- 指定磁盘或磁带备份目标 (SQL Server)
- 删除备份设备 (SQL Server)
- 设置备份的过期日期 (SQL Server)
- 查看备份磁带或文件的内容 (SQL Server)
- 查看备份集中的数据和日志文件 (SQL Server)
- 查看逻辑备份设备的属性和内容 (SQL Server)
- 从设备还原备份 (SQL Server)
- 教程:将 SQL Server 备份和还原到 Azure Blob 存储
创建备份
注意
对于部分备份或仅复制备份,必须分别使用带 PARTIAL
或 COPY_ONLY
选项的 Transact-SQL BACKUP 语句。
- 完整数据库备份
- 备份事务日志
- 备份文件和文件组
- 创建差异数据库备份 (SQL Server)
- 在数据库损坏时备份事务日志 (SQL Server)
- 在备份或还原期间启用或禁用备份校验和 (SQL Server)
- 指定备份或还原以在出错后继续或停止
- 使用资源调控器限制备份压缩的 CPU 使用量 (Transact-SQL)
- 快速入门:SQL 备份和还原到 Azure Blob 存储