backupmediaset (Transact-SQL)

适用于:SQL ServerAzure SQL 托管实例

每个备份介质集在表中占一行。 此表存储在 msdb 数据库中。

列名称 数据类型 说明
media_set_id int 唯一介质集标识号。 标识,主键。
media_uuid uniqueidentifier 介质集的 UUID。 所有 Microsoft SQL Server 媒体集都具有 UUID。

但是,对于早期版本的SQL Server,如果媒体集仅包含一个媒体系列,media_uuid列可能为 NULL, (media_family_count为 1) 。
media_family_count tinyint 媒体集中的媒体簇数。 可以为 NULL。
name nvarchar(128) 媒体集的名称。 可以为 NULL。

有关详细信息,请参阅 BACKUP (Transact-SQL) 中的 MEDIANAME 和 MEDIADESCRIPTION。
description nvarchar(255) 介质集的文本化说明。 可以为 NULL。

有关详细信息,请参阅 BACKUP (Transact-SQL) 中的 MEDIANAME 和 MEDIADESCRIPTION。
software_name nvarchar(128) 写入介质标签的备份软件名称。 可以为 NULL。
software_vendor_id int 写入备份介质标签的软件供应商标识号。 可以为 NULL。

Microsoft SQL Server 的值为十六进制0x1200。
MTF_major_version tinyint 用于生成此介质集的 Microsoft 磁带格式的主版本号。 可以为 NULL。
mirror_count tinyint 介质集中的镜像数。
is_password_protected bit 指定介质集是否受到密码保护:

0 = 未受到保护

1 = 受到保护
is_compressed bit 备份是否已压缩:

0 = 未压缩

1 = 压缩

msdb 升级过程中,此值将设置为 NULL。 表示未压缩的备份。
is_encrypted 备份是否已加密:

0 = 未加密

1 = 已加密

备注

RESTORE VERIFYONLY FROM backup_device WITH LOADHISTORY 使用媒体集标头中的相应值填充 backupmediaset 表的列。

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

示例

查询备份历史记录

以下查询返回过去 2 个月的成功备份信息。

SELECT bs.database_name,
	backuptype = CASE
			WHEN bs.type = 'D'
			AND bs.is_copy_only = 0 THEN 'Full Database'
			WHEN bs.type = 'D'
			AND bs.is_copy_only = 1 THEN 'Full Copy-Only Database'
			WHEN bs.type = 'I' THEN 'Differential database backup'
			WHEN bs.type = 'L' THEN 'Transaction Log'
			WHEN bs.type = 'F' THEN 'File or filegroup'
			WHEN bs.type = 'G' THEN 'Differential file'
			WHEN bs.type = 'P' THEN 'Partial'
			WHEN bs.type = 'Q' THEN 'Differential partial'
		END + ' Backup',
	CASE bf.device_type
			WHEN 2 THEN 'Disk'
			WHEN 5 THEN 'Tape'
			WHEN 7 THEN 'Virtual device'
			WHEN 9 THEN 'Azure Storage'
			WHEN 105 THEN 'A permanent backup device'
			ELSE 'Other Device'
		END AS DeviceType,
	bms.software_name AS backup_software,
	bs.recovery_model,
	bs.compatibility_level,
	BackupStartDate = bs.Backup_Start_Date,
	BackupFinishDate = bs.Backup_Finish_Date,
	LatestBackupLocation = bf.physical_device_name,
	backup_size_mb = CONVERT(decimal(10, 2), bs.backup_size/1024./1024.),
	compressed_backup_size_mb = CONVERT(decimal(10, 2), bs.compressed_backup_size/1024./1024.),
	database_backup_lsn, -- For tlog and differential backups, this is the checkpoint_lsn of the FULL backup it is based on.
	checkpoint_lsn,
	begins_log_chain,
	bms.is_password_protected
FROM msdb.dbo.backupset bs
LEFT OUTER JOIN msdb.dbo.backupmediafamily bf ON bs.[media_set_id] = bf.[media_set_id]
INNER JOIN msdb.dbo.backupmediaset bms ON bs.[media_set_id] = bms.[media_set_id]
WHERE bs.backup_start_date > DATEADD(MONTH, -2, sysdatetime()) --only look at last two months
ORDER BY bs.database_name ASC, bs.Backup_Start_Date DESC;

另请参阅

备份和还原表 (Transact-SQL)
backupfile (Transact-SQL)
backupfilegroup (Transact-SQL)
backupmediafamily (Transact-SQL)
backupset (Transact-SQL)
系统表 (Transact-SQL)