Инструкция RESTORE HEADERONLY (Transact-SQL)
Возвращает результирующий набор, содержащий все данные заголовков резервных копий из всех резервных наборов данных на конкретном устройстве резервного копирования.
Примечание. |
---|
Описания аргументов см. в разделе Аргументы инструкции RESTORE (Transact-SQL). |
Синтаксические обозначения в Transact-SQL
Синтаксис
RESTORE HEADERONLY
FROM <backup_device>
[ WITH
[ { CHECKSUM | NO_CHECKSUM } ]
[ [ , ] { CONTINUE_AFTER_ERROR | STOP_ON_ERROR } ]
[ [ , ] FILE = backup_set_file_number ]
[ [ , ] MEDIANAME = { media_name | @media_name_variable } ]
[ [ , ] MEDIAPASSWORD = { mediapassword |
@mediapassword_variable } ]
[ [ , ] PASSWORD = { password | @password_variable } ]
[ [ , ] REWIND ]
[ [ , ] { UNLOAD | NOUNLOAD } ]
]
[;]
<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
tinyint
0 = без сжатия. SQL Server не поддерживает программное сжатие.
Если резервный набор данных сжат с использованием программных методов сжатия:
1 = со сжатием
0 = без сжатия
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. Новое значение присваивается, когда база данных восстанавливается. См. также 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
Примечание. |
---|
Если для резервных наборов данных назначены пароли, то инструкция RESTORE HEADERONLY показывает полные сведения только о резервном наборе данных, пароль которого совпадает с указанным в команде для аргумента PASSWORD. Инструкция RESTORE HEADERONLY также показывает полные сведения для незащищенных резервных наборов данных. В столбце BackupName для других защищенных паролем резервных наборов данных на носителе будет храниться значение «***Password Protected***». Все остальные столбцы примут значение NULL. |
Замечания
С помощью инструкции RESTORE HEADERONLY клиент может получить все данные из заголовка резервной копии на конкретном устройстве резервного копирования. Для каждой резервной копии на устройстве резервного копирования сервер передает данные заголовка в виде строки.
Разрешения
Любой пользователь может выполнять инструкцию RESTORE HEADERONLY.
Во время операции создания резервной копии можно по выбору указать пароли для набора носителей, резервных наборов данных или и того, и другого. Если для набора носителей или для резервного набора данных установлен пароль, то в инструкции RESTORE необходимо указывать корректные пароли. Эти пароли предотвращают несанкционированные операции восстановления и присоединения резервных наборов данных к носителю при помощи инструментальных средств Microsoft SQL Server 2005. Тем не менее пароль не запрещает перезапись носителей с помощью параметра FORMAT инструкции BACKUP.
Примечание безопасности. |
---|
Пароль не обеспечивает надежную защиту. Он предназначен для предотвращения некорректного восстановления при использовании средств SQL Server 2005 авторизованными или неавторизованными пользователями. Он не предотвращает считывание данных резервной копии при помощи других средств или замену пароля. Оптимальным способом защиты резервных копий является хранение лент с резервными копиями в безопасном месте или создание резервных копий на диске в виде файлов, защищенных соответствующими списками управления доступом (ACL). Списки ACL должен располагаться в корневом каталоге, в котором создаются резервные копии. |
Примеры
В следующем примере возвращаются данные из заголовка файла на диске 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)
Другие ресурсы
Просмотр сведений о резервных копиях
Основа разностной резервной копии
Как включить или отключить расчет контрольных сумм резервных копий (Transact-SQL)
Основные понятия о регистрационных номерах транзакций в журнале
LSN номера и планирование восстановления
Наборы носителей, семейства носителей и резервные наборы данных
Обзор моделей восстановления
Пути восстановления