Инструкции 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
См. также
- BACKUP (Transact-SQL)
- backupset (Transact-SQL)
- RESTORE REWINDONLY (Transact-SQL)
- RESTORE VERIFYONLY (Transact-SQL).
- RESTORE (Transact-SQL)
- Журнал резервных копий и сведения о заголовке резервной копии (SQL Server)
- Включение или отключение вычисления контрольных сумм резервных копий во время архивации или восстановления (SQL Server)
- Наборы носителей, семейства носителей и резервные наборы данных (SQL Server)
- Модели восстановления (SQL Server)