Инструкции RESTORE — FILELISTONLY (Transact-SQL)

Применимо к:SQL Server Управляемый экземпляр SQL Azure

Возвращает результирующий набор со списком файлов журнала и базы данных, содержащихся в резервном наборе данных в SQL Server.

Примечание.

Описания аргументов см. в статье Аргументы инструкций RESTORE (Transact-SQL).

Соглашения о синтаксисе Transact-SQL

Синтаксис

RESTORE FILELISTONLY   
FROM <backup_device>   
[ WITH   
 {  
--Backup Set Options  
   FILE = { backup_set_file_number | @backup_set_file_number }   
 | PASSWORD = { password | @password_variable }   
 | [ METADATA_ONLY | SNAPSHOT ] [ DBNAME = { database_name | @database_name_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 | URL } = { 'physical_backup_device_name' |  
       @physical_backup_device_name_var }   
}  

Примечание.

URL-адрес — это формат, который используется для указания расположения и имени файла для хранилища BLOB-объектов Microsoft Azure и поддерживается начиная с SQL Server 2012 (11.x) SP1 CU2. Хотя хранилище Microsoft Azure является службой, реализация аналогична дисковому и ленточному хранилищу, чтобы обеспечить единообразное и эффективное восстановление для всех трех устройств.

Аргументы

Описание аргументов инструкции RESTORE FILELISTONLY см. в разделе Аргументы инструкции RESTORE (Transact-SQL).

Результирующие наборы

Клиент может использовать RESTORE FILELISTONLY для получения списка файлов, содержащихся в резервном наборе данных. Эти данные возвращаются как результирующий набор, содержащий одну строку для каждого файла.

Имя столбца Тип данных Description
LogicalName nvarchar(128) Логическое имя файла.
PhysicalName nvarchar(260) Физическое имя или имя файла в операционной системе.
Тип char(1) Тип файла:

L = файл журнала Microsoft SQL Server

D = файл данных SQL Server

F = полнотекстовый каталог

S = файловый поток, FileTable или контейнер выполняющейся в памяти OLTP
FileGroupName nvarchar(128) NULL Имя файловой группы, в которую входит файл.
Размер numeric(20,0) Текущий размер в байтах.
MaxSize numeric(20,0) Максимальный разрешенный размер в байтах.
FileID bigint Идентификатор файла, уникальный в пределах базы данных.
CreateLSN numeric(25,0) Регистрационный номер в журнале, под которым был создан файл.
DropLSN numeric(25,0) NULL Номер LSN, в котором произошло удаление файла. Если файл не удален, установлено значение NULL.
UniqueID uniqueidentifier Идентификатор GUID файла.
ReadOnlyLSN numeric(25,0) NULL Регистрационный номер в журнале, под которым файловая группа, содержащая файл, изменила тип доступа с «для чтения и записи» на «только для чтения» (самое последнее изменение).
ReadWriteLSN numeric(25,0) NULL Регистрационный номер транзакции в журнале, под которым файловая группа, содержащая файл, изменила тип с «только для чтения» на «для чтения и записи» (самое последнее изменение).
BackupSizeInBytes bigint Размер резервной копии этого файла в байтах.
SourceBlockSize int Размер блока физического устройства, содержащего файл, в байтах (не устройства резервного копирования).
FileGroupID int Идентификатор файловой группы.
LogGroupGUID uniqueidentifier NULL NULL.
DifferentialBaseLSN numeric(25,0) NULL Для разностных резервных копий изменения номеров LSN, которые превышают или равны DifferentialBaseLSN, включаются в разность.

Для других типов резервных копий установлено значение NULL.
DifferentialBaseGUID uniqueidentifier NULL Для разностных резервных копий — уникальный идентификатор базовой копии для разностного копирования.

Для других типов резервных копий установлено значение NULL.
IsReadOnly bit 1 = Файл доступен только для чтения.
IsPresent bit 1 = Файл присутствует в резервной копии.
TDEThumbprint varbinary(32) NULL Показывает отпечаток ключа шифрования базы данных. Отпечатком шифратора является хэш SHA-1 сертификата, с которым шифруется ключ. Дополнительные сведения о шифровании баз данных см. в статье Прозрачное шифрование данных (TDE).
SnapshotURL nvarchar(360) NULL Область применения: SQL Server (с SQL Server 2016 (13.x) (с накопительным пакетом обновления 1) до текущей версии.

URL-адрес моментального снимка Azure файла базы данных, содержащегося в резервной копии FILE_SNAPSHOT. Возвращает значение NULL, если резервная копия FILE_SNAPSHOT отсутствует.

Безопасность

В операции создания резервной копии могут дополнительно указываться пароли для набора носителей, резервного набора данных или и того и другого. Если для набора носителей или резервного набора данных установлен пароль, то в инструкции RESTORE необходимо указывать правильные пароли. Пароли предотвращают несанкционированные операции восстановления и присоединения резервных наборов данных к носителю при помощи инструментов Microsoft SQL Server. Однако пароль не запрещает перезапись носителей с помощью параметра FORMAT инструкции BACKUP.

Внимание

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

Разрешения

Начиная с SQL Server 2008 (10.0.x), получение сведений о резервном наборе или устройстве резервного копирования требует разрешения CREATE DATABASE. Дополнительные сведения см. в статье GRANT, предоставление разрешений на базу данных (Transact-SQL).

Примеры

В следующем примере возвращаются данные из устройства резервного копирования с именем AdventureWorksBackups. В примере используется параметр FILE для указания второго резервного набора данных на устройстве.

RESTORE FILELISTONLY FROM AdventureWorksBackups   
   WITH FILE=2;  
GO  

См. также

BACKUP (Transact-SQL)
Наборы носителей, семейства носителей и резервные наборы данных (SQL Server)
RESTORE REWINDONLY (Transact-SQL)
RESTORE VERIFYONLY (Transact-SQL).
RESTORE (Transact-SQL)
Журнал резервных копий и сведения о заголовке резервной копии (SQL Server)