Инструкция 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.

Важное примечаниеВажно!

Вместо Flags рекомендуется использовать индивидуальные столбцы типа Boolean (перечисленные ниже, начиная с HasBulkLoggedData и заканчивая IsCopyOnly).

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

См. также

Справочник

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)