Инструкция RESTORE HEADERONLY (Transact-SQL)
Возвращает результирующий набор, содержащий все данные заголовков резервных копий из всех резервных наборов данных на конкретном устройстве резервного копирования.
Примечание |
---|
Описания аргументов см. в разделе Аргументы инструкции RESTORE (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 резервные наборы данных других программ могут занимать место на том же носителе, на котором располагаются резервные наборы данных MicrosoftSQL Server. В результирующий набор команды RESTORE HEADERONLY входят записи для каждого из этих резервных наборов данных. |
Имя столбца |
Тип данных |
Описание резервных наборов данных SQL Server |
Описание других резервных наборов данных |
---|---|---|---|
BackupName |
nvarchar(128) |
Имя резервного набора данных. |
Имя набора данных. |
BackupDescription |
nvarchar(255) |
Описание резервного набора данных. |
Описание набора данных. |
BackupType |
smallint |
Тип резервной копии: 1 = база данных; 2 = журнал транзакций; 4 = файл; 5 = разностная резервная копия базы данных; 6 = разностная резервная копия файла; 7 = частичная резервная копия; 8 = частичная разностная резервная копия. |
Тип резервной копии: 1 = обычная резервная копия; 5 = разностная резервная копия; 16 = добавочная резервная копия; 17 = ежедневная резервная копия. |
ExpirationDate |
datetime |
Срок хранения резервного набора данных. |
NULL |
Compressed |
BYTE(1) |
Сжат ли резервный набор данных с помощью программных методов сжатия: 0 = без сжатия; 1 = со сжатием. |
Если резервный набор данных сжат с использованием программных методов сжатия: 0 = без сжатия 1 = со сжатием |
Позиция |
smallint |
Позиция резервного набора данных в томе (для использования с параметром FILE =). |
Позиция резервного набора данных в томе. |
DeviceType |
tinyint |
Число, соответствующее устройству, используемому для операции резервного копирования. Диск: 2 = логический 102 = физический Лента: 5 = логическая 105 = физическая Виртуальное устройство: 7 = логическое 107 = физическое Имена логических устройств и номера устройств находятся в таблице sys.backup_devices; дополнительные сведения см. в разделе sys.backup_devices (Transact-SQL). |
NULL |
UserName |
nvarchar(128) |
Имя пользователя, выполнившего операцию резервного копирования. |
Имя пользователя, выполнившего операцию резервного копирования. |
ServerName |
nvarchar(128) |
Имя сервера, записавшего резервный набор данных. |
NULL |
DatabaseName |
nvarchar(128) |
Имя базы данных, для которой была создана резервная копия. |
NULL |
DatabaseVersion |
int |
Версия базы данных, для которой была создана резервная копия. |
NULL |
DatabaseCreationDate |
datetime |
Дата и время, когда была создана база данных. |
NULL |
BackupSize |
numeric(20,0) |
Размер резервной копии, в байтах. |
NULL |
FirstLSN |
numeric(25,0) |
Регистрационный номер транзакции из первой записи журнала в резервном наборе данных. |
NULL |
LastLSN |
numeric(25,0) |
Регистрационный номер транзакции из следующей записи в журнале резервного набора данных. |
NULL |
CheckpointLSN |
numeric(25,0) |
Регистрационный номер транзакции в журнале для последней контрольной точки на момент создания резервной копии. |
NULL |
DatabaseBackupLSN |
numeric(25,0) |
Регистрационный номер транзакции в журнале для последней полной резервной копии базы данных. DatabaseBackupLSN — это начало контрольной точки, которая активируется при запуске резервного копирования. Данный номер будет совпадать со значением FirstLSN, если резервная копия создается, когда база данных бездействует, а репликация не настроена. |
NULL |
BackupStartDate |
datetime |
Дата и время начала операции резервного копирования базы данных. |
Дата записи на носитель. |
BackupFinishDate |
datetime |
Дата и время завершения операции резервного копирования базы данных. |
Дата записи на носитель. |
SortOrder |
smallint |
Порядок сортировки на сервере. Данный столбец действителен только для резервных копий баз данных. Предоставляется для обратной совместимости. |
NULL |
Кодовая страница |
smallint |
Кодовая страница сервера или кодировка, используемый сервером. |
NULL |
UnicodeLocaleId |
int |
Параметр конфигурации, определяющий идентификатор языкового стандарта сервера для сортировки символьных данных в Юникоде. Предоставляется для обратной совместимости. |
NULL |
UnicodeComparisonStyle |
int |
Параметр конфигурации, определяющий режим сравнения данных в Юникоде на сервере, что обеспечивает дополнительные возможности управления сортировкой. Предоставляется для обратной совместимости. |
NULL |
CompatibilityLevel |
tinyint |
Параметр уровня совместимости базы данных, для которой была создана резервная копия. |
NULL |
SoftwareVendorId |
int |
Идентификационный номер поставщика программного обеспечения. Для SQL Server это номер 4608 (или 0x1200 в шестнадцатеричном формате). |
Идентификационный номер поставщика программного обеспечения. |
SoftwareVersionMajor |
int |
Основной номер версии сервера, который создал резервный набор данных. |
Основной номер версии программы, которая создала резервный набор данных. |
SoftwareVersionMinor |
int |
Дополнительный номер версии сервера, который создал резервный набор данных. |
Дополнительный номер версии программы, которая создала резервный набор данных. |
SoftwareVersionBuild |
int |
Номер построения сервера, который создал резервный набор данных. |
NULL |
MachineName |
nvarchar(128) |
Имя компьютера, выполнившего операцию резервного копирования. |
Тип компьютера, выполнившего операцию резервного копирования. |
Flags |
int |
Значения битов отдельных флагов, установленных в 1: 1 = резервная копия журнала содержит операции с неполным протоколированием. 2 = резервная копия моментального снимка. 4 = во время резервного копирования база данных была доступна только для чтения. 8 = во время резервного копирования база данных была в однопользовательском режиме. 16 = резервная копия содержит контрольные суммы. 32 = во время резервного копирования база данных была повреждена, но было затребовано продолжение операции, несмотря на ошибки. 64 = резервная копия заключительного фрагмента журнала. 128 = резервная копия заключительного фрагмента журнала с неполными метаданными. 256 = резервная копия заключительного фрагмента журнала с параметром NORECOVERY.
Важно!
Вместо Flags рекомендуется использовать индивидуальные столбцы типа Boolean (перечисленные ниже, начиная с HasBulkLoggedData и заканчивая IsCopyOnly).
|
NULL |
BindingID |
uniqueidentifier |
Идентификатор привязки для базы данных. Он соответствует значению database_guid в таблице sys.databases. Новое значение присваивается, когда база данных восстанавливается. См. также FamilyGUID (ниже). |
NULL |
RecoveryForkID |
uniqueidentifier |
Идентификатор последней вилки восстановления. Этот столбец соответствует столбцу last_recovery_fork_guid в таблице backupset. Для резервных копий идентификатор RecoveryForkID равен FirstRecoveryForkID. |
NULL |
Параметры сортировки |
nvarchar(128) |
Параметры сортировки, используемые базой данных. |
NULL |
FamilyGUID |
uniqueidentifier |
Идентификатор исходной базы данных, присвоенный в момент ее создания. Это значение остается неизменным при восстановлении базы данных. |
NULL |
HasBulkLoggedData |
bit |
1 = резервная копия журнала содержит операции с неполным протоколированием. |
NULL |
IsSnapshot |
bit |
1 = резервная копия моментального снимка. |
NULL |
IsReadOnly |
bit |
1 = во время резервного копирования база данных была доступна только для чтения. |
NULL |
IsSingleUser |
bit |
1 = во время резервного копирования база данных была в однопользовательском режиме. |
NULL |
HasBackupChecksums |
bit |
1 = резервная копия содержит контрольные суммы. |
NULL |
IsDamaged |
bit |
1 = во время резервного копирования база данных была повреждена, но было затребовано продолжение операции, несмотря на ошибки. |
NULL |
BeginsLogChain |
bit |
1 = это первая копия непрерывной цепочки резервных копий журналов. Цепочка журналов начинается с первой резервной копии журналов, выполненной после создания базы данных либо при переключении с простой модели восстановления на полную модель или на модель восстановления с неполным протоколированием. |
NULL |
HasIncompleteMetaData |
bit |
1 = резервная копия заключительного фрагмента журнала с неполными метаданными. Дополнительные сведения о резервных копиях заключительных фрагментов журналов с неполными метаданными резервного копирования см. в разделе Резервные копии заключительного фрагмента журнала. |
NULL |
IsForceOffline |
bit |
1 = резервное копирование выполнено с параметром NORECOVERY; для резервного копирования база данных была переведена в автономный режим. |
NULL |
IsCopyOnly |
bit |
1 = резервная копия, предназначенная только для копирования. Резервная копия, предназначенная только для копирования, не влияет на обычные процедуры резервного копирования и восстановления базы данных. Дополнительные сведения см. в разделе Резервные копии только для копирования. |
NULL |
FirstRecoveryForkID |
uniqueidentifier |
Идентификатор первой вилки восстановления. Этот столбец соответствует столбцу first_recovery_fork_guid в таблице backupset. Для резервных копий данных идентификатор FirstRecoveryForkID равен FirstRecoveryForkID. |
NULL |
ForkPointLSN |
numeric(25,0) NULL |
Если значение FirstRecoveryForkID не равно значению RecoveryForkID, это регистрационный номер транзакции в вилке. В противном случае это значение NULL. |
NULL |
RecoveryModel |
nvarchar(60) |
Модель восстановления базы данных, одна из: FULL; BULK-LOGGED SIMPLE |
NULL |
DifferentialBaseLSN |
numeric(25,0) NULL |
Для разностной резервной копии с одной основой это значение равно FirstLSN для базовой копии для разностного копирования; изменения, у которых номера LSN больше или равны DifferentialBaseLSN, включаются в разностную резервную копию. Для многобазового разностного резервного копирования значение равно NULL, а базовый номер LSN должен быть определен на файловом уровне. Дополнительные сведения см. в разделе Инструкция RESTORE FILELISTONLY (Transact-SQL). Для разностных резервных копий это значение всегда равно NULL. Дополнительные сведения см. в разделе Основа разностной резервной копии. |
NULL |
DifferentialBaseGUID |
uniqueidentifier |
Для разностной резервной копии с одной основой значение является уникальным идентификатором базовой копии для разностного копирования. Для разностного резервного копирования на основе нескольких базовых копий это значение равно NULL, а базовая копия для разностного копирования должна определяться по отдельным файлам. Для разностных резервных копий это значение равно NULL. |
NULL |
BackupTypeDescription |
nvarchar(60) |
Тип резервной копии, один из: DATABASE TRANSACTION LOG (журнал транзакций) FILE OR FILEGROUP (файл или файловая группа) DATABASE DIFFERENTIAL (разностная для базы данных) FILE DIFFERENTIAL PARTIAL (частичная разностная для файла) PARTIAL DIFFERENTIAL (частичная разностная) |
Тип резервной копии, один из: NORMAL (обычная) DIFFERENTIAL (разностная) INCREMENTAL (добавочная) DAILY (ежедневная) |
BackupSetGUID |
uniqueidentifier NULL |
Уникальный идентификационный номер резервного набора данных, по которому этот набор определяется в носителе. |
NULL |
CompressedBackupSize |
uint64 |
Число байтов в резервном наборе данных. Для распакованных резервных копий это значение совпадает со значением BackupSize. Для вычисления коэффициента сжатия используйте значения CompressedBackupSize и BackupSize. Во время обновления базы данных msdb это значение устанавливается равным значению столбца BackupSize. |
NULL |
Примечание |
---|
Если для резервных наборов данных назначены пароли, то инструкция RESTORE HEADERONLY показывает полные сведения только о резервном наборе данных, пароль которого совпадает с указанным в команде для аргумента PASSWORD. Инструкция RESTORE HEADERONLY также показывает полные сведения для незащищенных резервных наборов данных. В столбце BackupName для других защищенных паролем резервных наборов данных на носителе будет храниться значение «***Password Protected***». Все остальные столбцы примут значение NULL. |
Замечания
С помощью инструкции RESTORE HEADERONLY клиент может получить все данные из заголовка резервной копии на конкретном устройстве резервного копирования. Для каждой резервной копии на устройстве резервного копирования сервер передает данные заголовка в виде строки.
Разрешения
В SQL Server 2008 и более поздних версиях, чтобы получить сведения о резервном наборе данных или устройстве резервного копирования, необходимо разрешение CREATE DATABASE. Дополнительные сведения см. в разделе GRANT, предоставление разрешений на базу данных (Transact-SQL).
Во время операции создания резервной копии можно по выбору указать пароли для набора носителей, резервных наборов данных или и того, и другого. Если для набора носителей или для резервного набора данных установлен пароль, то в инструкции RESTORE необходимо указывать верные пароли. Эти пароли предотвращают несанкционированные операции восстановления и присоединения резервных наборов данных к носителю при помощи инструментальных средств MicrosoftSQL Server. Однако пароль не запрещает перезапись носителей с помощью параметра FORMAT инструкции BACKUP.
Примечание по безопасности |
---|
Этот пароль не обеспечивает надежную защиту. Он предназначен для предотвращения неверного восстановления с помощью средств SQL Server авторизованными или неавторизованными пользователями. При этом остается возможным чтение данных резервной копии с использованием других средств или с помощью смены пароля. В будущей версии Microsoft SQL Server эта возможность будет удалена. Избегайте использования этой возможности в новых разработках и запланируйте изменение существующих приложений, в которых она применяется. Оптимальным способом защиты резервных копий является хранение лент с резервными копиями в безопасном месте или создание резервных копий на диске в виде файлов, защищенных соответствующими списками управления доступом (ACL). ACL необходимо задавать в корневом каталоге, внутри которого создаются резервные копии. |
Примеры
В следующем примере возвращаются данные из заголовка файла на диске C:\AdventureWorks-FullBackup.bak.
RESTORE HEADERONLY
FROM DISK = N'C:\AdventureWorks-FullBackup.bak'
WITH NOUNLOAD;
GO
См. также