Инструкция RESTORE HEADERONLY (Transact-SQL)
Возвращает результирующий набор, содержащий все данные заголовков резервных копий из всех резервных наборов данных на конкретном устройстве резервного копирования.
Примечание |
---|
Описания аргументов см. в разделе Аргументы инструкции 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 }
--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 } = { 'physical_backup_device_name' |
@physical_backup_device_name_var }
}
Аргументы
Описания аргументов инструкции RESTORE HEADERONLY см. в разделе Аргументы инструкции RESTORE (Transact-SQL).
Результирующие наборы
Сервер отправляет строку данных заголовка со следующими столбцами для каждой резервной копии на данном устройстве:
Примечание |
---|
Инструкция RESTORE HEADERONLY просматривает все резервные наборы данных на носителе. Поэтому для получения этого результирующего набора из ленточных накопителей большой емкости может потребоваться некоторое время. Для быстрого просмотра носителя без сбора сведений о каждом резервном наборе данных следует использовать инструкцию RESTORE LABELONLY или указать FILE = backup_set_file_number. |
Примечание |
---|
Вследствие принципов организации формата Microsoft Tape Format резервные наборы данных других программ могут занимать место на том же носителе, на котором располагаются резервные наборы данных Microsoft SQL Server. В результирующий набор команды RESTORE HEADERONLY входят записи для каждого из этих резервных наборов данных. |
Имя столбца |
Тип данных |
Описание резервных наборов данных SQL Server |
||
---|---|---|---|---|
BackupName |
nvarchar(128) |
Имя резервного набора данных. |
||
BackupDescription |
nvarchar(255) |
Описание резервного набора данных. |
||
BackupType |
smallint |
Тип резервной копии: 1 = база данных 2 = журнал транзакций 4 = файл; 5 = разностная резервная копия базы данных 6 = разностная резервная копия файла 7 = частичная резервная копия 8 = частичная разностная резервная копия |
||
ExpirationDate |
datetime |
Дата истечения срока хранения резервного набора данных. |
||
Compressed |
BYTE(1) |
Сжат ли резервный набор данных с помощью программных методов сжатия: 0 = без сжатия; 1 = со сжатием. |
||
Position |
smallint |
Позиция резервного набора данных в томе (для использования с параметром FILE =). |
||
DeviceType |
tinyint |
Число, соответствующее устройству, используемому для операции резервного копирования. Диск: 2 = логический 102 = физический Лента: 5 = логическая 105 = физическая Виртуальное устройство: 7 = логическое 107 = физическое Имена логических устройств и их номера находятся в таблице sys.backup_devices. Дополнительные сведения см. в разделе sys.backup_devices (Transact-SQL). |
||
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) |
Имя компьютера, выполнившего операцию резервного копирования. |
||
Флаги |
int |
Значения битов отдельных флагов, установленных в 1: 1 = резервная копия журналов содержит операции с неполным протоколированием. 2 = резервное копирование путем создания моментального снимка. 4 = во время резервного копирования база данных была доступна только для чтения. 8 = во время резервного копирования база данных была в однопользовательском режиме. 16 = резервная копия содержит контрольные суммы. 32 = во время резервного копирования база данных была повреждена, но было затребовано продолжение операции, несмотря на ошибки. 64 = резервная копия заключительного фрагмента журнала. 128 = резервная копия заключительного фрагмента журнала с неполными метаданными. 256 = резервная копия заключительного фрагмента журнала с параметром NORECOVERY.
|
||
BindingID |
uniqueidentifier |
Идентификатор привязки для базы данных. Он соответствует столбцу sys.database_recovery_status в таблице database_guid. Новое значение присваивается, когда база данных восстанавливается. См. также FamilyGUID (ниже). |
||
RecoveryForkID |
uniqueidentifier |
Идентификатор последней вилки восстановления. Этот столбец соответствует столбцу last_recovery_fork_guid в таблице backupset. Для резервных копий данных идентификатор RecoveryForkID равен FirstRecoveryForkID. |
||
Параметры сортировки |
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 = резервная копия заключительного фрагмента журнала с неполными метаданными. Дополнительные сведения о резервных копиях заключительных фрагментов журналов с неполными метаданными резервного копирования см. в разделе Резервные копии заключительного фрагмента журнала (SQL Server). |
||
IsForceOffline |
bit |
1 = резервное копирование выполнено с параметром NORECOVERY; для резервного копирования база данных была переведена в режим «вне сети». |
||
IsCopyOnly |
bit |
1 = резервная копия, предназначенная только для копирования. Резервная копия, предназначенная только для копирования, не влияет на обычные процедуры резервного копирования и восстановления базы данных. Дополнительные сведения см. в разделе Резервные копии только для копирования (SQL Server). |
||
FirstRecoveryForkID |
uniqueidentifier |
Идентификатор первой вилки восстановления. Этот столбец соответствует столбцу first_recovery_fork_guid в таблице backupset. Для резервных копий данных идентификатор FirstRecoveryForkID равен FirstRecoveryForkID. |
||
ForkPointLSN |
numeric(25,0) NULL |
Если значение FirstRecoveryForkID не равно значению RecoveryForkID, это регистрационный номер транзакции в журнале для точки вилки. В противном случае это значение NULL. |
||
RecoveryModel |
nvarchar(60) |
Модель восстановления базы данных, одна из: FULL BULK-LOGGED SIMPLE |
||
DifferentialBaseLSN |
numeric(25,0) NULL |
Для разностной резервной копии с одной основой это значение равно FirstLSN базовой копии для разностного копирования. Изменения, у которых номера LSN больше или равны DifferentialBaseLSN, включаются в разностную резервную копию. Для многобазового разностного резервного копирования значение равно NULL, а базовый номер LSN должен быть определен на файловом уровне. Дополнительные сведения см. в разделе Инструкция RESTORE FILELISTONLY (Transact-SQL). Для разностных резервных копий это значение всегда равно NULL. Дополнительные сведения см. в разделе Разностные резервные копии (SQL Server). |
||
DifferentialBaseGUID |
uniqueidentifier |
Для разностной резервной копии с одной основой значение является уникальным идентификатором базовой копии для разностного копирования. Для разностного резервного копирования на основе нескольких базовых копий это значение равно NULL, а базовая копия для разностного копирования должна определяться по отдельным файлам. Для разностных резервных копий это значение равно NULL. |
||
BackupTypeDescription |
nvarchar(60) |
Тип резервной копии, один из: DATABASE TRANSACTION LOG (журнал транзакций) FILE OR FILEGROUP (файл или файловая группа) DATABASE DIFFERENTIAL (разностная для базы данных) FILE DIFFERENTIAL PARTIAL (частичная разностная для файла) PARTIAL DIFFERENTIAL (частичная разностная) |
||
BackupSetGUID |
uniqueidentifier NULL |
Уникальный идентификационный номер резервного набора данных, по которому этот набор определяется в носителе. |
||
CompressedBackupSize |
bigint |
Число байтов в резервном наборе данных. Для распакованных резервных копий это значение совпадает со значением BackupSize. Для вычисления коэффициента сжатия используйте значения CompressedBackupSize и BackupSize. Во время обновления базы данных msdb это значение устанавливается равным значению столбца BackupSize. |
||
containment |
tinyint не NULL |
Указывает состояние включения базы данных. 0 = включение базы данных отключено 1 = база данных находится в состоянии частичного включения |
Примечание |
---|
Если для резервных наборов данных назначены пароли, то инструкция RESTORE HEADERONLY показывает полные сведения только о резервном наборе данных, пароль которого совпадает с указанным в команде для аргумента PASSWORD. Инструкция RESTORE HEADERONLY также показывает полные сведения для незащищенных резервных наборов данных. В столбце BackupName для других защищенных паролем резервных наборов данных на носителе будет храниться значение «***Password Protected***». Все остальные столбцы примут значение NULL. |
Общие замечания
С помощью инструкции RESTORE HEADERONLY клиент может получить все данные из заголовка резервной копии на конкретном устройстве резервного копирования. Для каждой резервной копии на устройстве резервного копирования сервер передает данные заголовка в виде строки.
Безопасность
В операции создания резервной копии могут дополнительно указываться пароли для набора носителей, резервного набора данных или и того и другого. Если для набора носителей или резервного набора данных установлен пароль, то в инструкции RESTORE необходимо указывать правильные пароли. Эти пароли предотвращают несанкционированные операции восстановления и присоединения резервных наборов данных к носителю при помощи инструментальных средств Microsoft SQL Server. Однако пароль не запрещает перезапись носителей с помощью параметра FORMAT инструкции BACKUP.
Примечание по безопасности |
---|
Данный пароль не обеспечивает надежную защиту. Он предназначен для предотвращения неверного восстановления при использовании средств SQL Server авторизованными или неавторизованными пользователями. При этом остается возможным чтение данных резервных копий с помощью других средств или замена пароля. В будущей версии Microsoft SQL Server этот компонент будет удален. Избегайте использования этого компонента в новых разработках и запланируйте изменение существующих приложений, в которых он применяется. Рекомендуемым способом защиты резервных копий является хранение лент с резервными копиями в безопасном месте или создание резервных копий на диске в виде файлов, защищенных соответствующими списками управления доступом (ACL). Списки ACL должны располагаться в корневом каталоге, в котором создаются резервные копии. |
Разрешения
В SQL Server 2008 и более поздних версиях, чтобы получить сведения о резервном наборе данных или устройстве резервного копирования, необходимо разрешение CREATE DATABASE. Дополнительные сведения см. в разделе GRANT, предоставление разрешений на базу данных (Transact-SQL).
Примеры
В следующем примере возвращаются данные из заголовка файла на диске «C:\AdventureWorks-FullBackup.bak».
RESTORE HEADERONLY
FROM DISK = N'C:\AdventureWorks-FullBackup.bak'
WITH NOUNLOAD;
GO
См. также
Справочник
RESTORE REWINDONLY (Transact-SQL)
RESTORE VERIFYONLY (Transact-SQL)
Основные понятия
Журнал и сведения о заголовке резервной копии (SQL Server)
Наборы носителей, семейства носителей и резервные наборы данных (SQL Server)