backupset (Transact-SQL)

每个备份集在表中占一行。 “备份集”包含来自单个成功备份操作的备份。 RESTORE、RESTORE FILELISTONLY、RESTORE HEADERONLY 和 RESTORE VERIFYONLY 语句对指定的一个或多个备份设备上的介质集中的单个备份集进行操作。

此表存储在 msdb 数据库中。

适用范围:SQL Server(SQL Server 2008 到当前版本)。

列名

数据类型

说明

backup_set_id

int

标识备份集的唯一备份集标识号。 标识,主键。

backup_set_uuid

uniqueidentifier

标识备份集的唯一备份集标识号。

media_set_id

int

标识备份集所在介质集的唯一介质集标识号。 引用 backupmediaset(media_set_id)

first_family_number

tinyint

备份集中第一个介质簇的编号。 可以为 NULL。

first_media_number

smallint

备份集从此处开始的介质的编号。 可以为 NULL。

last_family_number

tinyint

备份从此处结束的介质的编号。 可以为 NULL。

last_media_number

smallint

备份集从此处结束的介质的编号。 可以为 NULL。

catalog_family_ number

tinyint

包含备份集目录开始部分的介质簇的编号。 可以为 NULL。

catalog_media_number

smallint

包含备份集目录开始部分介质的介质编号。 可以为 NULL。

position

int

还原操作中用来定位相应的备份集和文件的备份集位置。 可以为 NULL。 有关详细信息,请参阅 BACKUP (Transact-SQL) 中的 FILE。

expiration_date

datetime

备份集过期的日期和时间。 可以为 NULL。

software_vendor_id

int

写入备份介质标头的软件供应商标识号。 可以为 NULL。

name

nvarchar(128)

备份集的名称。 可以为 NULL。

description

nvarchar(255)

备份集的说明。 可以为 NULL。

user_name

nvarchar(128)

执行备份操作的用户的名称。 可以为 NULL。

software_major_version

tinyint

Microsoft SQL Server 主版本号。 可以为 NULL。

software_minor_ version

tinyint

SQL Server 次版本号。 可以为 NULL。

software_build_version

smallint

SQL Server 内部版本号。 可以为 NULL。

time_zone

smallint

本地时间(备份操作发生地的时间)和协调世界时 (UTC) 之间的差异(以 15 分钟为单位)。 值可介于(含) -48 到 +48 之间。 值 127 表示未知。 例如,-20 为美国东部标准时间 (EST),即比 UTC 晚 5 小时。 可以为 NULL。

mtf_minor_version

tinyint

Microsoft 磁带格式的次版本号。 可以为 NULL。

first_lsn

numeric(25,0)

备份集中第一个或最早的日志记录的日志序列号。 可以为 NULL。

last_lsn

numeric(25,0)

备份集之后的下一条日志记录的日志序列号。 可以为 NULL。

checkpoint_lsn

numeric(25,0)

日志记录中重做必须开始的日志序列号。 可以为 NULL。

database_backup_lsn

numeric(25,0)

最近的数据库完整备份的日志序列号。 可以为 NULL。

database_backup_lsn 是备份开始时触发的“检查点的起点”。 如果进行备份时数据库空闲并且没有配置复制,则此 LSN 将与 first_lsn 一致。

database_creation_date

datetime

数据库最初创建的日期和时间。 可以为 NULL。

backup_start_date

datetime

备份操作的开始日期和时间。 可以为 NULL。

backup_finish_date

datetime

备份操作的结束日期和时间。 可以为 NULL。

type

char(1)

备份类型。 可以是:

D = 数据库

I = 差异数据库

L = 日志

F = 文件或文件组

G = 差异文件

P = 部分

Q = 差异部分

可以为 NULL。

sort_order

smallint

执行备份操作的服务器的排序顺序。 可以为 NULL。 有关排序顺序和排序规则的详细信息,请参阅排序规则和 Unicode 支持

code_page

smallint

执行备份操作的服务器的代码页。 可以为 NULL。 有关代码页的详细信息,请参阅排序规则和 Unicode 支持

compatibility_level

tinyint

数据库的兼容级别设置。 可以是:

90 = SQL Server 2005

100 = SQL Server 2008

110 = SQL Server 2012

120 = SQL Server 2014

可以为 NULL。

有关兼容级别的详细信息,请参阅 ALTER DATABASE 兼容性级别 (Transact-SQL)

database_version

int

数据库的版本号。 可以为 NULL。

backup_size

numeric(20,0)

备份集的大小(以字节为单位)。 可以为 NULL。

database_name

nvarchar(128)

备份操作中涉及的数据库的名称。 可以为 NULL。

server_name

nvarchar(128)

运行 SQL Server 备份操作的服务器的名称。 可以为 NULL。

machine_name

nvarchar(128)

运行 SQL Server 的计算机的名称。 可以为 NULL。

flags

int

在 SQL Server 中,不推荐使用 flags 列,即将用以下位列取代此列:

  • has_bulk_logged_data

  • is_snapshot

  • is_readonly

  • is_single_user

  • has_backup_checksums

  • is_damaged

  • begins_log_chain

  • has_incomplete_metadata

  • is_force_offline

  • is_copy_only

可以为 NULL。

在 SQL Server 早期版本的备份集中,标志位如下:

1 = 备份包含最少的记录数据。

2 = 使用了 WITH SNAPSHOT。

4 = 备份时数据库为只读。

8 = 备份时数据库处于单用户模式。

unicode_locale

int

Unicode 区域设置。 可以为 NULL。

unicode_compare_style

int

Unicode 比较风格。 可以为 NULL。

collation_name

nvarchar(128)

排序规则名。 可以为 NULL。

Is_password_protected

bit

备份集是否

受密码保护:

0 = 未受到保护

1 = 受到保护

recovery_model

nvarchar(60)

数据库的恢复模式:

FULL

BULK-LOGGED

SIMPLE

has_bulk_logged_data

bit

1 = 备份包含大容量日志数据。

is_snapshot

bit

1 = 备份时使用了 SNAPSHOT 选项。

is_readonly

bit

1 = 备份时数据库为只读。

is_single_user

bit

1 = 备份时数据库处于单用户模式。

has_backup_checksums

bit

1 = 备份包含备份校验和。

is_damaged

bit

1 = 创建此备份时,检测到数据库损坏。 已要求备份操作忽略错误,继续执行备份。

begins_log_chain

bit

1 = 这是一个连续的日志备份链中的第一个环节。 日志链的开始处是创建数据库后所做的第一个日志备份,或者是数据库从简单模式切换到完整模式或大容量日志恢复模式时所做的第一个日志备份。

has_incomplete_metadata

bit

1 = 带不完整元数据的结尾日志备份。 有关详细信息,请参阅结尾日志备份 (SQL Server)

is_force_offline

bit

1 = 进行备份时,使用了 NORECOVERY 选项使数据库脱机。

is_copy_only

bit

1 = 仅复制备份。 有关详细信息,请参阅仅复制备份 (SQL Server)

first_recovery_fork_guid

uniqueidentifier

起始恢复分叉的 ID。 这对应于 RESTORE HEADERONLY 的 FirstRecoveryForkID

对于数据备份,first_recovery_fork_guid 等于 last_recovery_fork_guid

last_recovery_fork_guid

uniqueidentifier

结束恢复分叉的 ID。 这对应于 RESTORE HEADERONLY 的 RecoveryForkID

对于数据备份,first_recovery_fork_guid 等于 last_recovery_fork_guid

fork_point_lsn

numeric(25,0)

如果 first_recovery_fork_guid 不等于 last_recovery_fork_guid,这就是分叉点的日志序列号。 否则,该值为 NULL。

database_guid

uniqueidentifier

数据库的唯一 ID。 这对应于 RESTORE HEADERONLY 的 BindingID。 还原数据库时,将分配一个新值。

family_guid

uniqueidentifier

创建时原始数据库的唯一 ID。 还原数据库时,即使还原为其他名称,此值也保持不变。

differential_base_lsn

numeric(25,0)

差异备份的基准 LSN。 对于单一差异备份,差异备份中将包括大于或等于 differential_base_lsn 的 LSN 更改。

对于多基准的差异备份,该值为 NULL,并且必须在文件级别确定基准 LSN(请参阅 backupfile (Transact-SQL))。

对于非差异备份类型,该值始终为 NULL。

differential_base_guid

uniqueidentifier

对于单基准的差异备份,该值为差异基准的唯一标识符。

对于多基准的差异备份,该值为 NULL,并且必须在文件级别确定差异基准。

对于非差异备份类型,该值为 NULL。

compressed_backup_size

Numeric(20,0)

磁盘上存储的备份的总字节数。

若要计算压缩率,请使用 compressed_backup_sizebackup_size

msdb 升级过程中,将此值设置为 NULL。 表示未压缩的备份。

encryptor_thumbprint

varbin

可用于在数据库中查找证书或非对称密钥的加密程序的指纹。 在备份未加密的情况下,此值为 NULL。

encryptor_type

varchar

使用的加密程序的类型:证书或非对称密钥。 . 在备份未加密的情况下,此值为 NULL。

key_algorithm

varchar

用于加密备份的加密算法。 NO_Encryption 值指示备份未加密。

注释

RESTORE VERIFYONLY FROM backup_device WITH LOADHISTORY 使用来自介质集标头的相应值填充 backupmediaset 表的列。

若要减少此表以及其他备份和历史记录表中的行数,请执行 sp_delete_backuphistory 存储过程。

请参阅

参考

backupfile (Transact-SQL)

backupfilegroup (Transact-SQL)

backupmediafamily (Transact-SQL)

backupmediaset (Transact-SQL)

RESTORE HEADERONLY (Transact-SQL)

概念

在备份和还原期间可能的介质错误 (SQL Server)

介质集、介质簇和备份集 (SQL Server)

恢复模式 (SQL Server)

其他资源

备份和还原表 (Transact-SQL)

备份和还原表 (Transact-SQL)