Инструкция 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 = частичная разностная резервная копия.

Тип резервной копии:

1 = обычная резервная копия

5 = разностная резервная копия

16 = добавочная резервная копия

17 = ежедневная резервная копия

ExpirationDate

datetime

Дата истечения срока хранения резервного набора данных.

NULL

Compressed

BYTE(1)

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

0 = без сжатия;

1 = со сжатием.

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

0 = без сжатия;

1 = со сжатием.

Position

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

CodePage

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_recovery_status. Новое значение присваивается, когда база данных восстанавливается. См. также FamilyGUID (ниже).

NULL

RecoveryForkID

uniqueidentifier

Идентификатор последней вилки восстановления. Этот столбец соответствует столбцу last_recovery_fork_guid в таблице backupset.

Для резервных копий идентификатор RecoveryForkID равен FirstRecoveryForkID.

NULL

Collation

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

bigint

Число байтов в резервном наборе данных. Для несжатых резервных копий это значение совпадает со значением 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 необходимо указывать правильные пароли. Эти пароли предотвращают несанкционированные операции восстановления и присоединения резервных наборов данных к носителю при помощи инструментальных средств Microsoft SQL Server. Однако пароль не запрещает перезапись носителей с помощью параметра FORMAT инструкции BACKUP.

Примечание по безопасностиПримечание по безопасности

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

Примеры

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

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

См. также

Задания

Справочник

Основные понятия