备份历史记录和标头信息 (SQL Server)

服务器实例上所有 SQL Server 备份和还原作的完整历史记录存储在 msdb 数据库中。 本主题介绍备份和还原历史记录表,以及用于访问备份历史记录的 Transact-SQL 语句。 本主题还讨论了何时列出数据库和事务日志文件很有用,以及何时使用媒体标头信息,以及何时使用备份标头信息。

重要

若要管理丢失对备份和还原历史记录的最新更改的风险,请经常备份 msdb 。 有关必须备份的系统数据库的信息,请参阅“备份和还原系统数据库”(SQL Server)。

本主题内容:

备份和还原历史记录表

本部分介绍在 msdb 系统数据库中存储备份和还原元数据的历史记录表。

历史记录表 DESCRIPTION
backupfile 为每个备份的数据或日志文件包含一行。
backupfilegroup 包含备份集中每个文件组的行。
backupmediafamily 包含每个媒体族的一行。 如果媒体组驻留在镜像媒体集内,则该组在媒体集中的每个镜像都有一行单独的记录。
backupmediaset 每个备份介质集包含一行。
备份集 每个备份集都有一个对应的行。
恢复文件 每个被还原文件有一行记录。 这包括通过文件组名称间接还原的文件。
恢复文件组 为每个还原的文件组包含一行。
restorehistory 每个还原操作包含一行。

注释

执行还原时,将修改备份历史记录表和还原历史记录表。

用于访问备份历史记录的 Transact-SQL 语句

还原信息语句对应于存储在某些备份历史记录表中的信息。

重要

RESTORE FILELISTONLY、RESTORE HEADERONLY、RESTORE LABELONLY 和 RESTORE VERIFYONLY Transact-SQL 语句需要 CREATE DATABASE 权限。 此要求可保护备份文件,并比以前版本更全面地保护备份信息。 有关此权限的信息,请参阅 GRANT 数据库权限(Transact-SQL)。

信息声明 备份历史记录表 DESCRIPTION
RESTORE FILELISTONLY backupfile 返回一个结果集,其中包含指定备份集中包含的数据库和日志文件的列表。

有关详细信息,请参阅本主题后面的“列出数据库和事务日志文件”。
RESTORE HEADERONLY 备份集 检索特定备份设备上所有备份集的所有备份标头信息。 执行 RESTORE HEADERONLY 的结果是一个结果集。

有关详细信息,请参阅本主题后面的“查看 Backup-Header 信息”。
RESTORE LABELONLY backupmediaset 返回一个结果集,其中包含有关指定备份设备上的备份介质的信息。

有关详细信息,请参阅本主题稍后部分中的“查看 Media-Header 信息”。

数据库和事务日志文件

在备份中列出数据库和事务日志文件时显示的信息包括逻辑名称、物理名称、文件类型(数据库或日志)、文件组成员身份、文件大小(以字节为单位)、允许的最大文件大小和预定义的文件增长大小(以字节为单位)。 在以下情况下,此信息非常有用,在还原数据库备份之前确定数据库备份中文件的名称:

  • 你丢失了一个磁盘驱动器,该驱动器包含一个或多个数据库的文件。

    可以列出数据库备份中的文件以确定哪些文件受到影响,然后在还原整个数据库时将这些文件还原到其他驱动器上;或仅还原这些文件,并应用自备份数据库后创建的任何事务日志备份。

  • 你要将数据库从一台服务器还原到另一台服务器上,但服务器上不存在目录结构和驱动器映射。

    列出备份中的文件,可确定哪些文件受到影响。 例如,备份包含一个文件,该文件必须还原到驱动器 E,但目标服务器没有驱动器 E。还原文件时,该文件必须重新定位到另一个位置,例如驱动器 Z。

Media-Header 信息

查看媒体标头会显示有关媒体本身的信息,而不是有关媒体上的备份的信息。 显示的媒体标头信息包括媒体名称、说明、创建媒体标头的软件的名称以及写入媒体标头的日期。

注释

查看媒体头文件很方便。

有关详细信息,请参阅本主题后面的 Media-Header 和 Backup-Header 信息的比较

Backup-Header 信息

查看备份标头会显示有关介质上所有 SQL Server 和非 SQL Server 备份集的信息。 显示的信息包括所使用的备份设备类型、备份类型(例如数据库、事务、文件或差异数据库),以及备份开始和停止日期/时间信息。 当必须确定要还原的磁带上的备份集或介质中包含的备份时,此信息非常有用。

注释

对于大容量磁带,查看备份标头信息可能需要很长时间,因为必须扫描整个媒体才能显示有关介质上每个备份的信息。

有关详细信息,请参阅本主题后面的 Media-Header 和 Backup-Header 信息的比较

选择还原哪个备份集

可以使用备份标头中的信息来标识要还原的备份集。 数据库引擎对备份介质上的每个备份集进行编号。 这样,便可以通过使用介质上的位置来标识要还原的备份集。 例如,以下媒体包含三个备份集。

包含 SQL Server 备份集的备份介质

若要还原特定的备份集,请指定要还原的备份集的位置编号。 例如,若要还原第二个备份集,请将 2 指定为要还原的备份集。

Media-Header 和 Backup-Header 信息的比较

下图提供了查看备份标头和媒体标头信息之间的差异示例。 要获得媒体标头,只需从磁带的开头提取信息。 获取备份标头需要扫描整个磁带以检查每个备份集的标头。

包含三个 SQL Server 备份集的媒体集

注释

使用具有多个介质系列的媒体集时,媒体标头和备份集将写入所有介质系列。 因此,只需为这些报告操作提供单个媒体分组。

有关如何查看媒体标头的信息,请参阅本主题前面的“查看 Media-Header 信息”。

有关如何查看备份设备上所有备份集的备份标头信息的信息,请参阅本主题前面的“查看 Backup-Header 信息”。

备份验证

虽然不需要,但验证备份是一种有用的做法。 验证备份时检查其物理完整性,以确保备份中的所有文件都是可读的,并可在需要时进行还原。 请务必了解,验证备份不会验证备份中的数据结构。 但是,如果备份是使用 WITH CHECKSUMS 创建的,则使用 WITH CHECKSUMS 验证备份可以提供备份上数据的可靠性的良好指示。

相关任务

从备份和还原历史记录表中删除旧行

从备份和还原历史记录表中删除特定数据库的所有行

查看备份集中的数据和日志文件

查看媒体标头信息

查看备份标头信息

从备份和还原历史记录表中删除旧行

从备份和还原历史记录表中删除特定数据库的所有行

查看媒体标头信息

查看备份标头信息

查看备份集中的文件

验证备份

另请参阅

BACKUP (Transact-SQL)
媒体集、媒体系列和备份集 (SQL Server)
备份设备 (SQL Server)
镜像备份媒体集 (SQL Server)
备份和还原期间可能出现的媒体错误(SQL Server)