Поделиться через


Инструкции RESTORE — HEADERONLY (Transact-SQL)

Область применения: SQL Server Управляемый экземпляр SQL Azure

Возвращает результирующий набор, содержащий все данные заголовков резервных копий из всех резервных наборов данных на конкретном устройстве резервного копирования в SQL Server.

Примечание.

Описания аргументов см. в статье Аргументы инструкций RESTORE (Transact-SQL).

Соглашения о синтаксисе Transact-SQL

Синтаксис

RESTORE HEADERONLY
FROM <backup_device>
[ WITH
    {
    -- Backup set options
    FILE = { backup_set_file_number | @backup_set_file_number }
    | PASSWORD = { password | @password_variable }
    | [ METADATA_ONLY | SNAPSHOT ] [ DBNAME = { database_name | @database_name_variable } ]

    -- Media set options
    | MEDIANAME = { media_name | @media_name_variable }
    | MEDIAPASSWORD = { mediapassword | @mediapassword_variable }

    -- Error management options
    | { CHECKSUM | NO_CHECKSUM }
    | { STOP_ON_ERROR | CONTINUE_AFTER_ERROR }

    -- Tape options
    | { REWIND | NOREWIND }
    | { UNLOAD | NOUNLOAD }
    } [ , ...n ]
]
[ ; ]

<backup_device> ::=
{
   { logical_backup_device_name |
     @logical_backup_device_name_var }
   | { DISK | TAPE | URL } = { 'physical_backup_device_name' |
       @physical_backup_device_name_var }
}

Примечание.

URL— это формат, используемый для указания расположения и имени файла для Хранилище BLOB-объектов Azure и поддерживается начиная с SQL Server 2012 (11.x) с пакетом обновления 1 (SP 1 CU 2). Хотя хранилище Azure является службой, реализация похожа на диск и ленту, чтобы обеспечить согласованный и простой процесс восстановления для всех трех устройств.

Аргументы

Описание RESTORE HEADERONLY аргументов см. в разделе RESTORE Arguments (Transact-SQL).

Результирующие наборы

Сервер отправляет строку данных заголовка со следующими столбцами для каждой резервной копии на данном устройстве:

Имя столбца Тип данных Описание резервных наборов данных SQL Server
BackupName 1 nvarchar(128) Имя резервного набора данных.
BackupDescription nvarchar(255) Описание резервного набора данных. Может иметь значение NULL.
BackupType smallint Тип резервной копии:

1 = база данных
2 = журнал транзакций
4 = файл
5 = разностная резервная копия базы данных
6 = разностная резервная копия файла
7 = частичная резервная копия
8 = частичная разностная резервная копия
ExpirationDate datetime Дата истечения срока хранения резервного набора данных.
Compressed bit Сжат ли резервный набор данных с помощью программных методов сжатия:

0 = нет
1 = да
Position smallint Позиция резервного набора данных в томе (для использования с параметром FILE =).
DeviceType tinyint Число, соответствующее устройству, используемому для операции резервного копирования.

Диск:

- 2 = логический
- 102 = физический

Лента:

- 5 = логические
- 105 = физический

Виртуальное устройство:

- 7 = логический
- 107 = физический

URL-адрес:

- 9 = логические
- 109 = физический

Имена логических устройств и номера устройств находятся в sys.backup_devices. Дополнительные сведения см. в sys.backup_devices.
UserName nvarchar(128) Имя пользователя, выполнившего операцию резервного копирования.
ServerName nvarchar(128) Имя сервера, записавшего резервный набор данных.
DatabaseName nvarchar(128) Имя базы данных, для которой была создана резервная копия.
DatabaseVersion int Версия базы данных, для которой была создана резервная копия.
DatabaseCreationDate datetime Дата и время, когда была создана база данных.
BackupSize numeric(20,0) Размер резервной копии, в байтах.
FirstLSN numeric(25,0) Регистрационный номер транзакции из первой записи журнала в резервном наборе данных.
LastLSN numeric(25,0) Регистрационный номер транзакции в журнале для следующей записи журнала после резервного набора данных.
CheckpointLSN numeric(25,0) Регистрационный номер транзакции в журнале для последней контрольной точки на момент создания резервной копии.
DatabaseBackupLSN numeric(25,0) Регистрационный номер транзакции в журнале для последней полной резервной копии базы данных.

DatabaseBackupLSN — это "начало контрольной точки", которая активируется при запуске резервной копии. Этот номер LSN совпадает с FirstLSN тем, если резервная копия выполняется, когда база данных неактивна, и репликация не настроена.
BackupStartDate datetime Дата и время начала операции резервного копирования базы данных.
BackupFinishDate datetime Дата и время завершения операции резервного копирования базы данных.
SortOrder smallint Порядок сортировки на сервере. Данный столбец действителен только для резервных копий баз данных. Предоставляется для обратной совместимости.
CodePage smallint Кодовая страница сервера или кодировка, используемый сервером.
UnicodeLocaleId int Параметр конфигурации, определяющий код локали сервера для сортировки символьных данных в Юникоде. Предоставляется для обратной совместимости.
UnicodeComparisonStyle int Параметр конфигурации, определяющий режим сравнения данных в Юникоде на сервере, что обеспечивает дополнительные возможности управления сортировкой. Предоставляется для обратной совместимости.
CompatibilityLevel tinyint Параметр уровня совместимости базы данных, для которой была создана резервная копия.
SoftwareVendorId int Идентификационный номер поставщика программного обеспечения. Для SQL Server это число 4608 (или шестнадцатеричное 0x1200).
SoftwareVersionMajor int Основной номер версии сервера, который создал резервный набор данных.
SoftwareVersionMinor int Дополнительный номер версии сервера, который создал резервный набор данных.
SoftwareVersionBuild int Номер построения сервера, который создал резервный набор данных.
MachineName nvarchar(128) Имя компьютера, выполнившего операцию резервного копирования.
Flags int Отдельные флаги битовые значения:

— 1 = резервное копирование журналов содержит операции массового ведения журнала.

— 2 = резервное копирование моментальных снимков.

— 4 = база данных была доступна только для чтения при резервном копировании.

— 8 = база данных была в однопользовательском режиме при резервном копировании.

- 16 = Резервное копирование содержит контрольные суммы резервных копий.

- 32 = база данных была повреждена при резервном копировании, но операция резервного копирования была запрошена для продолжения, несмотря на ошибки.

— 64 = резервная копия журналов хвоста.

— 128 = резервное копирование журналов tail с неполными метаданными.

— 256 = резервное копирование журналов хвоста с помощью NORECOVERY.

Важно. Рекомендуется вместо того, чтобы использовать Flags отдельные логические столбцы (начиная с HasBulkLoggedData и заканчивая IsCopyOnly в этой таблице).
BindingID uniqueidentifier Идентификатор привязки для базы данных. Это значение соответствует database_guid в sys.database_recovery_status. Новое значение присваивается, когда база данных восстанавливается. См. также FamilyGUID.
RecoveryForkID uniqueidentifier Идентификатор последней вилки восстановления. Этот столбец соответствует last_recovery_fork_guid таблице набора резервных копий .

Для резервных RecoveryForkID копий данных равно FirstRecoveryForkID.
Collation nvarchar(128) Параметры сортировки, используемые базой данных.
FamilyGUID uniqueidentifier Идентификатор исходной базы данных, присвоенный в момент ее создания. Это значение остается неизменным при восстановлении базы данных.
HasBulkLoggedData bit 1 = резервная копия журналов содержит операции с неполным протоколированием.
IsSnapshot bit 1 = резервная копия моментального снимка.
IsReadOnly bit 1 = во время резервного копирования база данных была доступна только для чтения.
IsSingleUser bit 1 = во время резервного копирования база данных находилась в однопользовательском режиме.
HasBackupChecksums bit 1 = резервная копия содержит контрольные суммы резервных копий.
IsDamaged bit 1 = во время резервного копирования база данных была повреждена, однако операция была продолжена, несмотря на ошибки.
BeginsLogChain bit 1 = это первая резервная копия журналов в непрерывной цепочке. Цепочка журналов начинается с первой резервной копии журналов, созданной после создания базы данных или при переключении с простой на модель восстановления с полным или массовым журналом.
HasIncompleteMetaData bit 1 = резервная копия tail-log с неполными метаданными.

Дополнительные сведения о резервных копиях заключительных фрагментов журналов с неполными метаданными резервного копирования см. в разделе Резервные копии заключительного фрагмента журнала (SQL Server).
IsForceOffline bit 1 = резервное копирование выполнено с параметром NORECOVERY; для резервного копирования база данных была переведена в автономный режим.
IsCopyOnly bit 1 = резервная копия только для копирования.

Резервная копия только для копирования не влияет на общие процедуры резервного копирования и восстановления базы данных. Дополнительные сведения см. в статье Резервные копии только для копирования (SQL Server).
FirstRecoveryForkID uniqueidentifier Идентификатор первой вилки восстановления. Этот столбец соответствует first_recovery_fork_guid таблице набора резервных копий .

Для резервных FirstRecoveryForkID копий данных равно RecoveryForkID.
ForkPointLSN numeric(25,0) Если FirstRecoveryForkID значение не равно RecoveryForkID, это значение является порядковым номером последовательности журнала точки вилки. В противном случае - значение NULL.
RecoveryModel nvarchar(60) Модель восстановления для базы данных, одна из следующих:

-ПОЛНЫЙ
— МАССОВЫЙ ЖУРНАЛ
-ПРОСТОЙ
DifferentialBaseLSN numeric(25,0) Для одноуровневой разностной резервной копии значение равно FirstLSN разностной базе. Изменения с LSN, превышающие или равные DifferentialBaseLSN , включаются в разностную систему.

Для многобазового разностного резервного копирования значение равно NULL, а базовый номер LSN должен быть определен на файловом уровне. Дополнительные сведения см. в статье Инструкции RESTORE — FILELISTONLY (Transact-SQL).

Для разностных резервных копий это значение всегда равно NULL.

Дополнительные сведения см. в разделе Разностные резервные копии (SQL Server).
DifferentialBaseGUID uniqueidentifier Для разностной резервной копии с одной основой значение является уникальным идентификатором базовой копии для разностного копирования.

Для разностного резервного копирования на основе нескольких базовых копий это значение равно NULL, а базовая копия для разностного копирования должна определяться по отдельным файлам.

Для разностных резервных копий это значение равно NULL.
BackupTypeDescription nvarchar(60) Тип резервной копии, один из:

-БАЗА ДАННЫХ
— ЖУРНАЛ ТРАНЗАКЦИЙ
— ФАЙЛ ИЛИ ФАЙЛОВАЯ ГРУППА
— РАЗНОСТНАЯ БАЗА ДАННЫХ
- РАЗНОСТНЫЙ ФАЙЛ ЧАСТИЧНО
— ЧАСТИЧНОЕ РАЗНОСТНОЕ
BackupSetGUID uniqueidentifier Уникальный идентификационный номер резервного набора данных, по которому этот набор определяется в носителе. Может иметь значение NULL.
CompressedBackupSize bigint Число байтов в резервном наборе данных. Для несжатых резервных копий это значение совпадает BackupSizeсо значением.

Чтобы вычислить коэффициент сжатия, используйте CompressedBackupSize и BackupSize.

msdb Во время обновления это значение соответствует значению столбцаBackupSize.
containment tinyint Применимо: SQL Server 2012 (11.x) и более поздних версий.

Указывает состояние включения базы данных.

0 = включение базы данных отключено
1 = база данных находится в состоянии частичного включения
KeyAlgorithm nvarchar(32) Применимо к: SQL Server 2014 (12.x) CU 1 и более поздних версий.

Алгоритм шифрования резервной копии. NO_Encryption указывает, что резервная копия не была зашифрована. Если правильное значение не может быть определено, значение должно иметь значение NULL.
EncryptorThumbprint varbinary(20) Применимо к: SQL Server 2014 (12.x) CU 1 и более поздних версий.

Отпечаток шифратора, который можно использовать для поиска сертификата или асимметричного ключа в базе данных. Если резервное копирование не было зашифровано, это значение равно NULL.
EncryptorType nvarchar(32) Применимо к: SQL Server 2014 (12.x) CU 1 и более поздних версий.

Тип используемого шифратора: сертификат или асимметричный ключ. Если резервное копирование не было зашифровано, это значение равно NULL.
LastValidRestoreTime datetime Область применения: SQL Server 2022 (16.x) и более поздних версий.

Последнее допустимое время восстановления.
TimeZone nvarchar(32) Область применения: SQL Server 2022 (16.x) и более поздних версий.

Часовой пояс сервера, из которого была сделана резервная копия.
CompressionAlgorithm nvarchar(32) Область применения: SQL Server 2022 (16.x) и более поздних версий.

Определяет алгоритм сжатия, используемый для сжатия файла резервной копии. Значение по умолчанию — MS_XPRESS. Дополнительные сведения см. в описании BACKUP.

1 Если пароли определены для резервных наборов данных, RESTORE HEADERONLY отображаются полные сведения только для резервного набора, пароль которого соответствует указанному PASSWORD параметру команды. RESTORE HEADERONLY также отображаются полные сведения для незащищенных резервных наборов данных. Столбец BackupName для других защищенных паролем резервных наборов резервных копий на носителе имеет 'Password Protected'значение NULL, а все остальные столбцы — NULL.

Замечания

Клиент может использовать RESTORE HEADERONLY для получения всех сведений о заголовке резервных копий для всех резервных копий на определенном устройстве резервного копирования. Для каждой резервной копии на устройстве резервного копирования сервер передает данные заголовка в виде строки.

RESTORE HEADERONLY просматривает все резервные наборы на носителе. Поэтому для получения этого результирующего набора из ленточных накопителей большой емкости может потребоваться некоторое время. Чтобы быстро просмотреть носитель, не получая сведения о каждом наборе резервных копий, используйте RESTORE LABELONLY или укажите FILE = <backup_set_file_number>.

Благодаря характеру формата ленты Microsoft можно использовать резервные наборы из других программ, чтобы занять место на том же носителе, что и резервные наборы резервных копий SQL Server. Результирующий набор, возвращаемый путем RESTORE HEADERONLY , включает строку для каждого из этих других резервных наборов.

Безопасность

В операции создания резервной копии могут дополнительно указываться пароли для набора носителей, резервного набора данных или и того и другого. Если для набора носителей или резервного набора данных установлен пароль, то в инструкции RESTORE необходимо указывать правильные пароли. Пароли предотвращают несанкционированные операции восстановления и присоединения резервных наборов данных к носителю при помощи инструментов SQL Server. Однако пароль не предотвращает перезапись носителя с помощью параметра FORMAT инструкции BACKUP.

Внимание

Данный пароль не обеспечивает надежную защиту. Он предназначен для предотвращения неверного восстановления при использовании средств SQL Server авторизованными или неавторизованными пользователями. При этом остается возможным чтение данных резервных копий с помощью других средств или замена пароля. Эта функция будет удалена в будущей версии SQL Server. Старайтесь не использовать эту возможность в новых разработках и постарайтесь изменить все приложения, которые в настоящее время ее используют. Для защиты резервных копий рекомендуется хранить ленты резервных копий в безопасном расположении или создавать резервные копии на дисках, защищенных соответствующими списками управления доступом (ACL). Списки ACL должны располагаться в корневом каталоге, в котором создаются резервные копии.

Разрешения

Для получения сведений о резервном наборе данных или устройстве резервного копирования требуется разрешение CREATE DATABASE. Дополнительные сведения см. в статье GRANT, предоставление разрешений на базу данных (Transact-SQL).

Примеры

В следующем примере возвращаются данные из заголовка файла на диске C:\AdventureWorks-FullBackup.bak.

RESTORE HEADERONLY
FROM DISK = N'C:\AdventureWorks-FullBackup.bak';
GO

См. также