backupset (Transact-SQL)
Область применения: SQL Server Управляемый экземпляр SQL Azure Платформенная система аналитики (PDW)
Содержит по одной строке для каждого резервного набора данных. Резервный набор данных содержит резервную копию, полученную в результате отдельной успешной операции резервного копирования. Инструкции RESTORE, RESTORE FILELISTONLY, RESTORE HEADERONLY и RESTORE VERIFYONLY выполняются над отдельным резервным набором данных в рамках набора носителей на указанном устройстве или устройствах резервного копирования.
Эта таблица хранится в msdb
базе данных.
Имя столбца | Тип данных | Description |
---|---|---|
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. Для дополнительных сведений см. FILE в разделе BACKUP (Transact-SQL). |
expiration_date | datetime | Дата и время окончания срока действия для резервного набора. Может иметь значение NULL. |
software_vendor_id | int | Идентификационный номер поставщика программного обеспечения, выполняющего запись заголовка резервного носителя. Может иметь значение NULL. |
name | nvarchar(128) | Имя резервного набора. Может иметь значение NULL. |
описание | 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 — время на восточном побережье США (Eastern Standard Time, EST), отстоящее на пять часов вперед от UTC. Может иметь значение NULL. |
mtf_minor_version | tinyint | Дополнительный номер версии Microsoft Tape Format. Может иметь значение 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. Дополнительные сведения о порядке и параметрах сортировки см. в разделе Поддержка параметров сортировки и Юникода. |
code_page | smallint | Кодовая страница на сервере, выполняющем операцию резервного копирования. Может иметь значение NULL. Дополнительные сведения о кодовых страницах см. в разделе Поддержка параметров сортировки и Юникода. |
compatibility_level | tinyint | Настройка уровня совместимости для базы данных. Возможны следующие варианты: 90 = SQL Server 2005 (9.x) 100 = SQL Server 2008 (10.0.x) 110 = SQL Server 2012 (11.x) 120 = SQL Server 2014 (12.x) 130 = SQL Server 2016 (13.x) 140 = SQL Server 2017 (14.x) 150 = SQL Server 2019 (15.x) 160 = SQL Server 2022 (16.x) Может иметь значение NULL. Дополнительные сведения об уровнях совместимости см. в статье Уровень совместимости инструкции ALTER DATABASE (Transact-SQL). |
database_version | int | Номер версии базы данных. Может иметь значение NULL. |
backup_size | numeric(20,0) | Размер резервного набора данных в байтах. Может иметь значение NULL. Для резервных копий VSS backup_size является оценочным значением. |
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 | Локаль Юникод. Может иметь значение NULL. |
unicode_compare_style | int | Стиль сравнения Юникод. Может иметь значение NULL. |
collation_name | nvarchar(128) | Имя параметров сортировки. Может иметь значение NULL. |
Is_password_protected | bit | Определяет, защищен ли резервный набор данных паролем: 0 = не защищен 1 = защищен |
recovery_model | nvarchar(60) | Модель восстановления базы данных: FULL BULK-LOGGED; ПРОСТОЙ |
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 | Идентификатор начальной вилки восстановления. Соответствует параметру FirstRecoveryForkID инструкции RESTORE HEADERONLY. Для резервного копирования данных параметр first_recovery_fork_guid равен last_recovery_fork_guid. |
last_recovery_fork_guid | uniqueidentifier | Идентификатор конечной вилки восстановления. Соответствует параметру RecoveryForkID инструкции RESTORE HEADERONLY. Для резервного копирования данных параметр 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 | Уникальный идентификатор базы данных. Соответствует параметру BindingID инструкции RESTORE HEADERONLY. При восстановлении базы данных назначается новое значение. |
family_guid | uniqueidentifier | Уникальный идентификатор оригинальной базы данных в момент создания. Это значение остается неизменным при восстановлении базы данных, даже если ей присваивается другое имя. |
differential_base_lsn | numeric(25,0) | Основной регистрационный номер транзакции в журнале для разностного резервного копирования. Для однобазового разностного резервного копирования; изменения с номерами LSN, большими или равными значению differential_base_lsn, включаются в разностную резервную копию. Для многобазового разностного резервного копирования значение равно NULL, а базовый номер LSN должен быть определен на файловом уровне (см. раздел backupfile (Transact-SQL)). Для неразностных типов резервного копирования значение всегда равно NULL. |
differential_base_guid | uniqueidentifier | Для разностной резервной копии с одной основой значение является уникальным идентификатором базовой копии для разностного копирования. Для многобазового разностного резервного копирования значение равно NULL, а базовая копия для разностного копирования должна быть определена на файловом уровне. Для неразностных типов резервного копирования значение равно NULL. |
compressed_backup_size | Numeric(20,0) | Общее число байт в резервной копии, хранящейся на диске. Для вычисления коэффициента сжатия используйте значения compressed_backup_size и backup_size. msdb Во время обновления это значение имеет значение NULL. Это означает резервное копирование без сжатия. |
key_algorithm | nvarchar(32) | Алгоритм шифрования резервной копии. Значение NO_Encryption указывает, что резервная копия не была зашифрована. |
encryptor_thumbprint | varbinary(20) | Отпечаток шифратора, который будет использоваться для поиска сертификата или асимметричного ключа в базе данных. Если резервная копия не была зашифрована, это значение равно NULL. |
encryptor_type | nvarchar(32) | Тип используемого шифратора: сертификат или асимметричный ключ. Если резервная копия не была зашифрована, это значение равно NULL. |
last_valid_restore_time | datetime | Метка времени последней записи журнала транзакций, включенной в резервную копию журнала транзакций, для записей журналов, которые несут метку времени. Помогает создавать планы восстановления, помогая найти последнюю резервную копию журнала для восстановления при STOPAT указании предложения в инструкции RESTORE LOG . Эта резервная копия журнала имеет last_valid_restore_time строго больше времени, указанного в предложении STOPAT . Впервые представлено в SQL Server 2022 (16.x). |
compression_algorithm | nvarchar(32) | Алгоритм сжатия, используемый при создании резервной копии SQL Server. Впервые представлено в SQL Server 2022 (16.x). По умолчанию — MS_XPRESS . Дополнительные сведения см. в разделе BACKUP COMPRESSION и встроенное ускорение и разгрузка. |
Замечания
RESTORE VERIFYONLY FROM <backup_device> WITH LOADHISTORY
заполняет столбецbackupmediaset
таблицы соответствующими значениями из заголовка набора мультимедиа.- Чтобы сократить число строк в этой таблице и в других резервных таблицах и таблицах журнала, выполните хранимую процедуру sp_delete_backuphistory.
- Сведения о прозрачности резервного копирования и мониторинге резервных копий см. в Управляемый экземпляр SQL.
Примеры
Журнал резервного копирования запросов
Следующий запрос возвращает сведения об успешном резервном копировании за последние два месяца.
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 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;
Следующие шаги
- BACKUP (Transact-SQL)
- Инструкции RESTORE (Transact-SQL)
- Таблицы резервного копирования и восстановления (Transact-SQL)
- backupfile (Transact-SQL)
- backupfilegroup (Transact-SQL)
- backupmediafamily (Transact-SQL)
- backupmediaset (Transact-SQL)
- Возможные ошибки мультимедиа во время резервного копирования и восстановления (SQL Server)
- Наборы носителей, семейства носителей и резервные наборы данных (SQL Server)
- Модели восстановления (SQL Server)
- RESTORE HEADERONLY (Transact-SQL)
- Таблицы резервного копирования и восстановления (Transact-SQL)