Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения:SQL Server
В этой статье документируются аргументы, описанные в разделах Синтаксис RESTORE {DATABASE|оператора LOG} и связанного набора вспомогательных операторов: RESTORERESTORE FILELISTONLY, RESTORERESTORE HEADERONLY, RESTORERESTORE LABELONLY, RESTORERESTORE REWINDONLY, и RESTORERESTORE VERIFYONLY. Большинство аргументов поддерживается только вложенными наборами этих шести инструкций. Поддержка каждого аргумента указана в его описании.
Соглашения о синтаксисе Transact-SQL
Синтаксис
Сведения о синтаксисе см. в следующих статьях:
Аргументы
DATABASE
Поддерживается:RESTORE
Указывает целевую базу данных. Если указан список файлов и файловых групп, то восстанавливаются только эти файлы и файловые группы.
Для базы данных с использованием полной или массовой модели восстановления SQL Server в большинстве случаев требует резервного копирования хвоста журнала перед восстановлением базы данных. Восстановление базы данных без предварительного резервного копирования хвоста журнала приводит к ошибке, если только в RESTOREDATABASE операторе не содержится либо пункт WITH REPLACE или WITH STOPAT, которые должны указывать время или транзакцию, произошедшую после завершения резервного копирования данных. Дополнительные сведения о резервных копиях заключительного фрагмента журнала см. в разделе Резервные копии заключительного фрагмента журнала (SQL Server).
ЖУРНАЛ
Поддерживается:RESTORE
Указывает, что резервная копия журналов транзакций должна быть применена к базе данных. Журналы транзакций должны применяться в последовательном порядке. SQL Server проверяет резервное копирование журнала транзакций, чтобы убедиться, что транзакции загружаются в правильную базу данных и в правильной последовательности. Для применения нескольких журналов транзакций следует использовать параметр NORECOVERY во всех операциях восстановления, кроме последней.
Примечание.
Как правило, последний восстановленный журнал представляет собой резервную копию заключительного фрагмента журнала. Резервная копия заключительного фрагмента журнала — это резервная копия журнала, созданная непосредственно перед восстановлением базы данных, обычно после отказа базы данных. Создание резервной копии заключительного фрагмента журнала поврежденной базы данных предотвращает потерю работы благодаря сохранению журнала, для которого еще не была создана резервная копия (заключительный фрагмент журнала). Дополнительные сведения см. в разделе Резервные копии заключительного фрагмента журнала (SQL Server).
Дополнительные сведения см. в разделе Применение резервных копий журналов транзакций (SQL Server).
{ database_name | @database_name_var }
Поддерживается:RESTORE
База данных, в которую восстанавливается журнал или полная база данных. Если это имя указано как переменная (@database_name_var), оно может быть указано в виде строковой константы (@database_name_var = database_name) или как переменная типа данных строки символов, за исключением типов данных ntext или text.
< > file_or_filegroup_or_page [ ,... n ]
Поддерживается:RESTORE
Указывает имя логического файла, группы файлов или страницы для включения в RESTOREDATABASE оператор LOG RESTORE . Можно указать список файлов или файловых групп.
Для базы данных с простой моделью восстановления параметры FILE и FILEGROUP можно использовать только в том случае, если целевые файлы или файловые группы доступны только для чтения или если это восстановление является частичным (PARTIAL), что приводит к появлению нерабочей файловой группы.
Для базы данных, использующей модель восстановления с полным или массовым логированием, после восстановления RESTOREDATABASE одного или нескольких файлов, групп файлов и/или страниц, обычно необходимо применить транзакционный журнал к файлам, содержащим восстановленные данные; применение журнала делает эти файлы согласованными с остальной базой данных. Из этого правила существуют следующие исключения:
Если восстанавливаемые файлы были только для чтения до последней резервной копии, то журнал транзакций не обязан, и RESTORE выписка информирует вас об этой ситуации.
Если резервная копия содержит первичную файловую группу и выполняется частичное восстановление, журнал восстановления не нужен, так как журнал восстанавливается автоматически из набора резервных данных.
ФАЙЛ = { logical_file_name_in_backup | @logical_file_name_in_backup_var }
Указывает имя файла, который необходимо включить в восстановление базы данных.
FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var }
Указывает имя файловой группы, которую необходимо включить в восстановление базы данных.
Инструкцию FILEGROUP можно использовать в простой модели восстановления только в том случае, если указанная файловая группа доступна только для чтения и данная операция восстановления является частичной (то есть при использовании WITH PARTIAL). Любые невосстановленные файловые группы, доступные для чтения и записи, отмечаются как несуществующие и впоследствии не могут быть восстановлены в результирующей базе данных.
READ_WRITE_FILEGROUPS
Выбирает все файловые группы, доступные для чтения и записи. Этот параметр особенно полезен, если файловые группы, доступные для чтения и записи, нужно восстановить раньше, чем файловые группы, доступные только для чтения.
PAGE = 'file:page [ ,... n ]'
Указывает список, состоящий из одной или нескольких страниц для операции восстановления страниц (которая поддерживается только для баз данных, использующих полную модель восстановления или модель восстановления с неполным протоколированием). Возможны следующие значения.
СТРАНИЦА
Указывает список из одного или нескольких файлов и страниц.
file
Идентификатор файла, содержащего определенную страницу для восстановления.
page
Идентификатор страницы, подлежащей восстановлению в файле.
n
Заполнитель, который указывает, что можно задать несколько страниц.
Максимальное число страниц, которое можно восстановить в один файл в последовательности восстановления, — 1 000. Но если файл содержит большое количество поврежденных страниц, лучше восстанавливать не страницы, а весь файл целиком.
Примечание.
Восстановленные страницы невозможно восстановить повторно.
Дополнительные сведения о восстановлении страниц см. в разделе Восстановление страниц (SQL Server).
[ ,... n ]
Заполнитель, который указывает, что можно задать в списке несколько файлов, файловых групп и страниц с разделителями-запятыми. Их число не ограничено.
FROM { <backup_device [ ,...>n ] | <> database_snapshot }
Как правило, указывает устройства резервного копирования, из которых необходимо восстановить резервную копию. Альтернативно, в RESTOREDATABASE операторе FROM clause может указать имя снимка базы данных, к которому вы возвращаете базу данных, и в этом случае оговорка WITH не допускается.
Если предложение FROM опущено, то операция восстановления из резервной копии не производится. Вместо этого восстанавливается база данных. Это позволяет восстановить базу данных, которая была восстановлена с параметром NORECOVERY, или переключиться на резервный сервер. Если предложение FROM опущено, то с предложением WITH должен быть указан параметр NORECOVERY, RECOVERY или STANDBY.
< > backup_device [ ,... n ]
Логическое или физическое устройство резервного копирования.
Поддерживается от:RESTORERESTORE FILELISTONLY , , RESTORE HEADERONLY, RESTORE LABELONLYRESTORE REWINDONLY, и RESTORE VERIFYONLY.
<backup_device>::= Указывает логическое или физическое устройство резервного копирования, используемое для создания резервной копии, а именно:
{ logical_backup_device_name | @logical_backup_device_name_var }
Логическое имя устройства или устройств резервного копирования, созданных процедурой sp_addumpdevice, из которых восстанавливается база данных, должно соответствовать правилам для идентификаторов. Если имя устройства резервного копирования является переменной (@logical_backup_device_name_var), то имя устройства резервного копирования может быть указано в виде строковой константы (@logical_backup_device_name_var = logical_backup_device_name) или как переменная типа данных строки символов, за исключением типов данных ntext или text.
{DISK | TAPE } = { 'physical_backup_device_name'physical_backup_device_name_var | @ }
Разрешает сохранение резервных копий с названного диска или ленточного устройства хранения данных. Для дисковых и магнитных устройств необходимо указать фактическое имя устройства (например, полный путь и имя файла): DISK ='Z:\SQLServerBackups\AdventureWorks.bak' или TAPE ='\\\\.\TAPE0'. Если имя устройства является переменной (@physical_backup_device_name_var), то имя устройства может быть указано в виде строковой константы (@physical_backup_device_name_var = 'physical_backup_device_name') или как переменная типа данных строки символов, за исключением типов данных ntext или text.
Укажите тип дискового устройства с помощью сетевого сервера с именем UNC (которое должно содержать имя компьютера). Дополнительные сведения об использовании имен UNC см. в разделе Устройства резервного копирования (SQL Server).
Учетная запись, под которой вы запускаете SQL Server, должна иметь доступ READ к удалённому компьютеру или сетевому серверу для выполнения RESTORE операции.
n
Заполнитель, который указывает, что можно задать в списке до 64 устройств резервного копирования с разделителями-запятыми.
Требует ли последовательность восстановления столько же устройств резервного копирования, сколько было использовано для создания набора носителей, которым принадлежат резервные копии, зависит от того, происходит восстановление в режиме «вне сети» или режиме «в сети», следующим образом:
Восстановление в сети позволяет использовать меньше устройств, чем было задействовано при создании резервных копий.
При восстановлении в сети обязательно наличие всех устройств резервного копирования. Попытка выполнить восстановление с меньшим числом устройств не будет успешно завершена.
Например, рассмотрим случай резервного копирования базы данных на четыре накопителя на магнитной ленте, подключенных к серверу. Для восстановления в сети необходимо иметь четыре накопителя, подключенных к серверу; восстановление вне сети позволяет восстановить резервную копию, если в компьютере менее четырех накопителей.
Примечание.
Проводя восстановление из копии с зеркального набора носителей, можно указать по одному зеркалу для каждого семейства носителей. Но в случае ошибок наличие других зеркальных носителей позволяет быстро устранить некоторые проблемы восстановления. Поврежденный том носителя можно заменить соответствующим томом с другого зеркала. Учтите, что при восстановлении вне сети можно использовать меньше устройств, чем семейств носителей, но каждое семейство обрабатывается только один раз.
< >database_snapshot::=
Поддерживается:RESTORE DATABASE
=
DATABASE_SNAPSHOT database_snapshot_name
Возвращает базу данных к моментальному снимку базы данных, определяемому именем_моментального_снимка_базы_данных. Аргумент DATABASE_SNAPSHOT доступен только для полного восстановления базы данных. При выполнении операции возврата к предшествующему состоянию моментальный снимок базы данных занимает место полной резервной копии базы данных.
Для операции возврата к предшествующему состоянию необходимо, чтобы указанный моментальный снимок базы данных был единственным для базы данных. В ходе операции возврата моментальный снимок базы данных и целевая база данных отмечаются как In restore. Дополнительные сведения см. в разделе "Примечания" в RESTORE DATABASEразделе .
Параметры инструкции WITH
Указывает параметры, используемые для операции восстановления предшествующего состояния. Сводку инструкций, в которых используется каждый параметр, см. в разделе "Сводные данные о совместимости с параметрами WITH" далее в этой статье.
Примечание.
Опции WITH организованы здесь в том же порядке, что и в разделе «Синтаксис» в RESTORE {DATABASE|LOG}.
PARTIAL
Поддерживается:RESTORE DATABASE
Указывает операцию частичного восстановления, которая восстанавливает первичную файловую группу и любые указанные вторичные файловые группы. Параметр PARTIAL неявно выбирает первичную файловую группу; указывать FILEGROUP = 'PRIMARY' не требуется. Чтобы восстановить вторичную файловую группу, необходимо явно задать ее с помощью параметра FILE или FILEGROUP.
Опция PARTIAL не разрешена в RESTORE операторах LOG.
Параметр PARTIAL запускает начальный этап поэтапного восстановления, которое позволяет восстановить оставшиеся файловые группы позднее. Дополнительные сведения см. в разделе Поэтапное восстановление (SQL Server).
[ RECOVERY | NORECOVERY | РЕЗЕРВНЫЙ ]
Поддерживается:RESTORE
RECOVERY
Настраивает операцию восстановления на откат любых незавершенных транзакций. После процедуры восстановления база данных готова к использованию. Если не указан ни один из параметров NORECOVERY, RECOVERY и STANDBY, RECOVERY является параметром по умолчанию.
Если планируются последующие RESTORE операции (RESTORE LOG или RESTOREDATABASE от дифференциала), следует указать NORECOVERY или STANDBY.
При восстановлении резервных наборов из более ранней версии SQL Server может потребоваться обновление базы данных. Это обновление выполняется автоматически, если указан параметр WITH RECOVERY. Дополнительные сведения см. в разделе Применение резервных копий журналов транзакций (SQL Server).
Примечание.
Если предложение FROM опущено, то с предложением WITH должен быть указан параметр NORECOVERY, RECOVERY или STANDBY.
NORECOVERY
Настраивает операцию восстановления на отмену отката любых незавершенных транзакций. Если впоследствии должен применяться другой журнал транзакций, то следует указать параметр NORECOVERY или STANDBY. Если не указан ни один из параметров NORECOVERY, RECOVERY и STANDBY, RECOVERY является параметром по умолчанию. В ходе восстановления вне сети с использованием параметра NORECOVERY база данных непригодна для использования.
Для восстановления резервной копии базы данных и одного или нескольких журналов транзакций или при необходимости нескольких RESTORE операторов (например, при восстановлении полной резервной копии базы данных с последующим дифференциальным резервным копированием) RESTORE требуется опция WITH NORECOVERY на всех операторах, кроме конечного RESTORE оператора. Лучшая практика — использовать WITH NORECOVERY на ВСЕХ операторах в многоступенчатой последовательности восстановления до достижения желаемой точки восстановления, а затем использовать отдельный RESTORE оператор WITH RECOVERY только для восстановления.
При использовании с операцией восстановления файла или файловой группы параметр NORECOVERY принудительно оставляет базу данных в состоянии восстановления после операции восстановления. Это полезно в следующих ситуациях:
Выполняется скрипт восстановления, и журнал всегда применяется.
Используется последовательность восстановления файлов, и база данных не предназначена для использования между двумя операциями восстановления.
В некоторых случаях RESTORE ПРИ NORECOVERY перекатывается перекат вперёд, установленный достаточно далеко, чтобы он был согласован с базой данных. В таких случаях откат не производится и данные остаются вне сети, как и предполагается при использовании этого параметра. Однако ядро СУБД выдает информационное сообщение, которое указывает, что набор переката теперь можно восстановить с помощью параметра RECOVERY.
ОЖИДАНИЕ = standby_file_name
Указывает резервный файл, с помощью которого можно отменить результаты восстановления. Параметр STANDBY разрешается применять для восстановления вне сети (в том числе частичного восстановления). Параметр не разрешается использовать при восстановлении в сети. При попытке указать параметр STANDBY для восстановления в сети операция восстановления заканчивается неудачей. Инструкцию STANDBY также не разрешается применять, если необходимо обновление базы данных.
Резервный файл используется для хранения предизображения «копирования при записи» для страниц, изменённых во время отмены режима RESTORE С ОЖИДАНИЕМ. Благодаря резервному файлу базу данных можно сделать доступной только для чтения между транзакциями и использовать с сервером «горячего» резервирования или в особых ситуациях восстановления, когда полезно проверить базу данных между операциями восстановления журналов транзакций. После операции RESTORE WITH STANDBY файл отмены автоматически удаляется следующей RESTORE операцией. Если этот файл ожидания удаляется вручную перед следующей RESTORE операцией, то всю базу данных необходимо восстановить заново. Пока база данных находится в состоянии STANDBY, к резервному файлу следует относиться с такой же осторожностью, как к любому другому файлу базы данных. В отличие от других файлов базы данных, этот файл остается открытым только ядро СУБД во время активных операций восстановления.
Аргумент имя_резервного_файла указывает резервный файл, местонахождение которого хранится в журнале базы данных. Если существующий файл использует указанное имя, файл перезаписывается; в противном случае ядро СУБД создает файл.
Требования к размерам конкретного резервного файла зависят от числа действий отката, вызванных незавершенными транзакциями в ходе операции восстановления.
Внимание
Если на диске, содержащем резервный файл с указанным именем, отсутствует свободное место, то операция восстановления останавливается.
Для сравнения ВОССТАНОВЛЕНИЯ и NORECOVERY см. раздел «Замечания» в RESTORE.
LOADHISTORY
Поддерживается:RESTORE VERIFYONLY
Указывает, что операция восстановления загружает сведения в msdb таблицы журнала. Параметр LOADHISTORY загружает сведения для проверенного одного набора резервных копий о резервных копиях SQL Server, хранящихся на носителе, в таблицах журнала резервного копирования и восстановления в msdb базе данных. Дополнительные сведения о таблицах истории см. в разделе Системные таблицы (Transact-SQL).
Обратите внимание, что если в таблицах журналов msdb уже существуют резервные копии, то при использовании LOADHISTORY в них добавится та же информация с новым идентификатором backup_set_id. Кроме того, если LOADHISTORY используется для повторного создания журналов резервного копирования в msdb (на другом сервере или после удаления данных с исходного сервера), рекомендуется выполнять команды восстановления резервных копий в том порядке, в котором они создавались. Таким образом цепочка LSN останется в исходном состоянии, и мастер восстановления SSMS сможет правильно считать журнал резервного копирования, чтобы создать верную последовательность восстановления. Использование LOADHISTORY с историей резервного копирования, созданной из-за порядка, может привести к ошибке при попытке восстановить ("Не удается создать план восстановления из-за разрыва в цепочке LSN. (Microsoft.SqlServer.SmoExtended)").
< > general_WITH_options [ ,... n ]
Следующие общие опции WITH поддерживаются в RESTOREDATABASE операторах и RESTORE LOG. Некоторые из этих параметров также поддерживаются одной или несколькими вспомогательными инструкциями, как отмечено ниже.
Параметры операции восстановления
Эти параметры влияют на поведение операции восстановления.
ПЕРЕМЕСТИТЬ "logical_file_name_in_backup" В "operating_system_file_name" [ ,... n ]
Поддерживается:RESTORE и RESTORE VERIFYONLY
Указывает, что файл данных или журнала, логическое имя которого указано в параметре логическое_имя_файла_в_резервной_копии, следует переместить, восстановив его в расположение, указанное в параметре имя_файла_в_операционной_системе. Логическое имя файла данных или журнала в резервном наборе данных соответствует его логическому имени в базе данных на момент создания резервного набора данных.
n — заполнитель, который указывает, что можно указать дополнительные инструкции MOVE. Укажите инструкцию MOVE для каждого логического файла, который надо восстановить из резервного набора данных в новом месте. По умолчанию файл, имя которого указано в параметре логическое_имя_файла_в_резервной_копии, восстанавливается в исходное расположение.
Примечание.
Чтобы получить список логических файлов из резервного набора, используйте RESTORE FILELISTONLY.
Если RESTORE оператор используется для переноса базы данных на тот же сервер или копирования на другой сервер, опция MOVE может потребоваться для перемещения файлов базы данных и предотвращения столкновений с существующими.
При использовании с RESTORE LOG опция MOVE может использоваться только для перемещения файлов, добавленных в период восстановления журнала. Например, если резервная копия журнала содержит операцию добавления файла для file23файла , этот файл можно переместить с помощью опции MOVE на RESTORE LOG.
При использовании с резервной копией моментального снимка SQL Server параметр MOVE можно использовать только для перемещения файлов в BLOB-объекты Azure в той же учетной записи хранения, в которой размещается исходный BLOB-объект. Параметр MOVE не может использоваться для восстановления моментального снимка резервной копии в локальный файл или в другую учетную запись хранения.
Если RESTORE VERIFYONLY оператор используется при планировании перемещения базы данных на тот же сервер или копировании её на другой сервер, опция MOVE может потребоваться для проверки достаточного места в целевом объекте и выявления возможных столкновений с существующими файлами.
Дополнительные сведения см. в статье Копирование баз данных путем создания и восстановления резервных копий.
CREDENTIAL
Поддерживается от:RESTORE , RESTORE FILELISTONLY, RESTORE HEADERONLYRESTORE LABELONLY, и RESTORE VERIFYONLY.
Область применения: SQL Server 2012 (11.x) с пакетом обновления 1 (SP1) CU2 и более поздних версий
Используется только при восстановлении резервной копии с помощью хранилища BLOB-объектов Azure.
Примечание.
Начиная с версии SQL Server 2012 (11.x) с пакетом обновления SP1 и накопительным обновлением 2 до версии SQL Server 2016 (13.x) восстановление с URL-адреса можно выполнять только с одного устройства. Для восстановления с нескольких устройств при восстановлении из URL-адреса необходимо использовать SQL Server 2016 (13.x) или более поздней версии, и необходимо использовать маркеры подписанного URL-адреса (SAS). Дополнительные сведения см. в разделах Включение управляемого резервного копирования SQL Server в Microsoft Azure и Упрощение создания учетных данных SQL с помощью маркеров подписанных URL-адресов (SAS) в службе хранилища Azure с PowerShell.
ЗАМЕНИТЬ
Поддерживается:RESTORE
Указывает, что SQL Server должен создать указанную базу данных и связанные с ней файлы, даже если другая база данных уже существует с тем же именем. В этом случае существующая база данных будет удалена. Если параметр REPLACE не указан, выполняется проверка безопасности. Это предотвращает перезапись другой базы данных по ошибке. Проверка безопасности гарантирует, что RESTOREDATABASE оператор не восстановит базу данных на текущий сервер, если существуют следующие условия:
База данных, указанная в операторе RESTORE , уже существует на текущем сервере, и
имя базы данных отличается от имени базы данных, записанного в резервный набор данных.
REPLACE также позволяет RESTORE перезаписать существующий файл, который невозможно подтвердить как принадлежащий восстанавливаемой базе данных. Обычно RESTORE отказывается перезаписывать уже существующие файлы. WITH REPLACE также можно использовать аналогичным образом для RESTORE опции LOG.
Параметр REPLACE также отменяет требование создать резервную копию конца журнала перед восстановлением базы данных.
Для получения информации о влиянии использования опции REPLACE см. RESTORE (Transact-SQL).
ПЕРЕЗАПУСК
Поддерживается:RESTORE
Указывает, что SQL Server должен перезапустить операцию восстановления, прерванную. Инструкция RESTART перезапускает операцию восстановления с точки прерывания.
RESTRICTED_USER
Поддерживается:RESTORE
Ограничивает доступ к вновь созданной базе данных для членов ролей db_owner, dbcreator и sysadmin. Параметр RESTRICTED_USER заменяет параметр DBO_ONLY. DBO_ONLY прекращено с SQL Server 2008 (10.0.x).
Следует использовать с параметром RECOVERY.
Параметры резервного набора данных
Эти параметры оперируют с резервным набором данных, содержащим резервную копию для восстановления.
ФАЙЛ = { backup_set_file_number | @backup_set_file_number }
Поддерживается от:RESTORE , RESTORE FILELISTONLY, RESTORE HEADERONLYи RESTORE VERIFYONLY.
Идентифицирует резервный набор данных для восстановления. Например, аргумент номер_файла_резервного_набора , равный 1 , указывает первый резервный набор данных на носителе данных резервных копий, а аргумент номер_файла_резервного_набора , равный 2 , указывает второй резервный набор данных. Вы можете получить backup_set_file_number резервного набора с помощью RESTORE HEADERONLY оператора.
Если это не указано, по умолчанию — 1, за исключением тех случаев, RESTORE HEADERONLY когда все резервные копии в медиа-наборе обрабатываются. Дополнительные сведения см. в разделе Указание резервного набора данных.
Внимание
Этот параметр FILE не связан с параметром FILE, указывающим файл базы данных, FILE = { logical_file_name_in_backup | @logical_file_name_in_backup_var }.
PASSWORD = { пароль | @password_variable }
Поддерживается от:RESTORE , RESTORE FILELISTONLY, RESTORE HEADERONLYи RESTORE VERIFYONLY.
Предоставляет пароль резервного набора данных. Пароль набора резервных копий является символьной строкой.
Примечание.
Эта функция будет удалена в будущей версии SQL Server. Избегайте использования этого компонента в новых разработках и запланируйте изменение существующих приложений, в которых он применяется.
Если при создании резервного набора данных был назначен пароль, то этот пароль необходим для выполнения любой операции восстановления из резервного набора данных. Указать неверный пароль или указать пароль, если резервный набор данных настроен на работу без пароля, является ошибкой.
Внимание
Этот пароль обеспечивает слабую защиту для набора носителей. Дополнительные сведения см. в подразделе «Разрешения» для соответствующих инструкций.
[ METADATA_ONLY | СНИМОК ] [ DBNAME = { <database_name> | @database_name_variable } ]
Впервые представлено в SQL Server 2022 (16.x).
Требуется для восстановления из резервного копирования моментальных снимков.
BACKUP SERVERили BACKUP GROUP... см. статью "Создание резервного копирования моментальных снимков Transact-SQL".
METADATA_ONLY синонимом МОМЕНТАЛЬНОГО СНИМКА. Интерфейс виртуального устройства (VDI) использует МОМЕНТАЛЬНЫЙ СНИМОК. Дополнительные сведения о VDI см . в справочнике по интерфейсу виртуального устройства (VDI).
Параметры набора носителей
Эти параметры влияют на весь набор носителей.
MEDIANAME = { media_name | @media_name_variable }
Поддерживается от:RESTORE , RESTORE FILELISTONLY, RESTORE HEADERONLYRESTORE LABELONLY, и RESTORE VERIFYONLY.
Задает имя данного носителя. Если имя носителя указано, оно должно соответствовать имени резервных томов; в противном случае операция восстановления прекращается. Если в RESTORE заявлении не указано имя медиа, проверка на совпадающее имя медиа в томах резервного копирования не выполняется.
Внимание
Соответствие имен носителей в операциях восстановления и резервного копирования обеспечивает дополнительную проверку носителя, выбранного для операции восстановления.
MEDIAPASSWORD = { mediapassword | @mediapassword_variable }
Поддерживается от:RESTORE , RESTORE FILELISTONLY, RESTORE HEADERONLYRESTORE LABELONLY, и RESTORE VERIFYONLY.
Предоставляет пароль набора носителей. Пароль набора носителей является символьной строкой.
Примечание.
Эта функция будет удалена в будущей версии SQL Server. Избегайте использования этого компонента в новых разработках и запланируйте изменение существующих приложений, в которых он применяется.
Если пароль был назначен во время форматирования набора носителей, этот пароль необходим для доступа к любому набору резервных данных на этом носителе. Указать неверный пароль или указать пароль, если набор носителей настроен на работу без пароля, является ошибкой.
Внимание
Этот пароль обеспечивает слабую защиту для набора носителей. Дополнительные сведения см. в разделе «Разрешения» для соответствующей инструкции.
BLOCKSIZE = { размер блока | @blocksize_variable }
Поддерживается:RESTORE
Указывает размер физического блока в байтах. Поддерживаются размеры 512, 1024, 2048, 4096, 8192, 16 384, 32 768 и 65 536 байт (64 КБ). Значение по умолчанию равно 65 536 для ленточных устройств и 512 для других устройств. Как правило, этот параметр не требуется, так как RESTORE автоматически выбирает размер блока, соответствующий устройству. Явная установка размера блока переопределяет автоматический выбор размера блока.
При восстановлении из копии с носителя CD-ROM укажите значение BLOCKSIZE=2048.
Примечание.
Этот параметр обычно влияет на производительность только при чтении с ленточных устройств.
Параметры передачи данных
Эти параметры позволяют оптимизировать передачу данных с устройства резервного копирования.
BUFFERCOUNT = { buffercount | @buffercount_variable }
Поддерживается:RESTORE
Указывает общее число буферов ввода-вывода, которые будут использоваться для операции восстановления. Можно указать любое целое положительное значение, однако большое число буферов может вызвать ошибку нехватки памяти из-за чрезмерного виртуального адресного пространства в процессе Sqlservr.exe.
Общее используемое буферами пространство определяется по следующей формуле: число_буферов****максимальный_размер_передаваемых_данных.
MAXTRANSFERSIZE = { maxtransfersize | @maxtransfersize_variable }
Поддерживается:RESTORE
Указывает самую большую единицу передачи в байтах, которая будет использоваться между носителем резервного копирования и SQL Server. Поддерживаются значения, кратные 65 536 байтам (64 КБ), вплоть до 4 194 304 байт (4 МБ).
Примечание.
Если для базы данных настроена файловая группа FILESTREAM или база данных включает файловые группы OLTP в памяти, то значение MAXTRANSFERSIZE в момент восстановления должно быть не меньше этого значения, указанного при создании резервной копии.
Параметры управления ошибками
Эти параметры позволяют определить, разрешены ли контрольные суммы резервных копий в операции восстановления и останавливается ли операция при обнаружении ошибки.
{ КОНТРОЛЬНАЯ СУММА | NO_CHECKSUM }
Поддерживается от:RESTORE , RESTORE FILELISTONLY, RESTORE HEADERONLYRESTORE LABELONLY, и RESTORE VERIFYONLY.
Поведение по умолчанию обозначает проверку контрольных сумм, если они существуют, и продолжать без проверки, если они отсутствуют.
CHECKSUM
Указывает, что необходимо проверить контрольные суммы резервных копий, и если в резервной копии нет контрольной суммы, приводит к отказу операции восстановления с выдачей сообщения об отсутствии контрольной суммы.
Примечание.
Контрольные суммы страниц относятся к операциям резервного копирования только в случае, если используются контрольные суммы резервных копий.
По умолчанию, при обнаружении неверной контрольной суммы, RESTORE сообщает об ошибке контрольной суммы и останавливается. Однако, если указать CONTINUE_AFTER_ERROR, RESTORE она продолжается после возврата ошибки контрольной суммы и номера страницы с недействительной контрольной суммой, если это возможно.
Дополнительные сведения об использовании контрольных сумм резервных копий см. в разделе Возможные ошибки носителей во время резервного копирования и восстановления (SQL Server).
NO_CHECKSUM
Явно отменяет проверку контрольных сумм операцией восстановления.
{ STOP_ON_ERROR | CONTINUE_AFTER_ERROR }
Поддерживается от:RESTORE , RESTORE FILELISTONLY, RESTORE HEADERONLYRESTORE LABELONLY, и RESTORE VERIFYONLY.
STOP_ON_ERROR
Указывает, что операция восстановления прекращается после обнаружения первой ошибки. Это поведение по умолчанию для RESTORE, за исключением VERIFYONLY, где CONTINUE_AFTER_ERROR по умолчанию.
CONTINUE_AFTER_ERROR
Указывает на то, что после возникновении ошибки операция восстановления должна продолжаться.
Если в резервной копии есть поврежденные страницы, то лучше всего повторить операцию восстановления с использованием альтернативной резервной копии, не содержащей ошибок (например, используя резервную копию, созданную до повреждения страниц). В качестве последнего средства можно попытаться восстановить данные из поврежденной резервной копии с помощью параметра CONTINUE_AFTER_ERROR восстанавливающей инструкции.
Параметры FILESTREAM
FILESTREAM ( DIRECTORY_NAME =имя_каталога )
Поддерживается:RESTORE и RESTORE VERIFYONLY
Область применения: SQL Server 2012 (11.x) и более поздних версий
Имя каталога, совместимое с Windows. Это имя должно быть уникальным среди всех имен каталогов FILESTREAM на уровне базы данных в экземпляре SQL Server. Сравнение уникальности выполняется без учета регистра независимо от параметров сортировки SQL Server.
Параметры мониторинга
Эти параметры позволяют наблюдать за передачей данных с устройства резервного копирования.
STATS [ = процент ]
Поддерживается:RESTORE и RESTORE VERIFYONLY
Отображает сообщение каждый раз, когда завершается очередной процент задания, и используется для отслеживания хода выполнения. Если процент опущен, SQL Server отображает сообщение после завершения каждого 10 процентов (приблизительно).
Параметр STATS сообщает о готовности в процентах по отношению к порогу сообщения о следующем интервале. Это примерно по указанному проценту; Например, при использовании STATS=10 ядро СУБД отчеты примерно с таким интервалом; например, вместо отображения точно 40 %, параметр может отображать 43 %. Это не является проблемой для больших резервных наборов данных, поскольку показатель готовности в процентах перемещается очень медленно между завершенными вызовами ввода-вывода.
Параметры ленты
Эти параметры используются только для ленточных устройств. При использовании другого устройства они не обрабатываются.
{ ПЕРЕМОТАТЬ | NOREWIND }
Эти параметры используются только для ленточных устройств. При использовании другого устройства они пропускаются.
REWIND
Поддерживается от:RESTORE , RESTORE FILELISTONLY, RESTORE HEADERONLYRESTORE LABELONLY, и RESTORE VERIFYONLY.
Указывает, что выпуск SQL Server и перемотка ленты. REWIND — значение по умолчанию.
NOREWIND
Поддерживается:RESTORE и RESTORE VERIFYONLY
Использование NOREWIND в любой другой инструкции восстановления приводит к ошибке.
Указывает, что SQL Server будет открывать ленту после операции резервного копирования. Этим параметром можно пользоваться для увеличения производительности при выполнении нескольких операций резервного копирования на ленту.
NOREWIND подразумевает NOUNLOAD, и эти опции несовместимы в одном RESTORE операторе.
Примечание.
Если вы используете NOREWIND, экземпляр SQL Server сохраняет право собственности на ленточный накопитель до тех пор, пока BACKUPRESTORE оператор, запущенный в том же процессе, не использует опцию REWIND или UNLOAD, либо серверный экземпляр не будет закрыт. Поскольку лента остается открытой, другие процессы не могут получить доступа к ленте. Дополнительные сведения об отображении списка открытых лент и закрытии открытой ленты см. в разделе Устройства резервного копирования (SQL Server).
{ ВЫГРУЗ | NOUNLOAD }
Поддерживается от:RESTORERESTORE FILELISTONLY , , RESTORE HEADERONLY, RESTORE LABELONLYRESTORE REWINDONLY, и RESTORE VERIFYONLY.
Эти параметры используются только для ленточных устройств. При использовании другого устройства они пропускаются.
Примечание.
Параметр UNLOAD/NOUNLOAD является настройкой сеанса, он сохраняется в течение работы сеанса или пока не будет сброшен при указании другого значения.
UNLOAD
Указывает, что лента автоматически перематывается и выгружается по завершении операции резервного копирования. Параметр UNLOAD применяется в начале сеанса по умолчанию.
NOUNLOAD
Указывает, что после RESTORE операции лента остается загруженной на ленточный диск.
<replication_WITH_option>
Этот параметр имеет значение, только если во время создания резервной копии проводилась репликация базы данных.
KEEP_REPLICATION
Поддерживается:RESTORE
Аргумент KEEP_REPLICATION следует использовать при настройке репликации с доставкой журналов. Это предотвращает удаление параметров репликации, если резервная копия базы данных или резервная копия журналов восстанавливается на сервере «горячего» резервирования и база данных воссоздается. Не разрешается указывать этот параметр при восстановлении резервной копии с параметром NORECOVERY. Для обеспечения функций репликации после восстановления:
msdbБазыmasterданных на теплом резервном сервере должны быть синхронизированы сmsdbmasterбазами данных на основном сервере.Сервер «горячего» резервирования должен быть переименован, и ему должно быть присвоено такое же имя, как у сервера-источника.
<change_data_capture_WITH_option>
Этот параметр имеет значение, только если при создании резервной копии в базе данных была включена система отслеживания измененных данных.
KEEP_CDC
Поддерживается:RESTORE
Ключевое слово KEEP_CDC следует использовать для предотвращения удаления настроек системы отслеживания измененных данных при восстановлении резервной копии базы данных или журнала на другом сервере и восстановлении базы данных. Не разрешается указывать этот параметр при восстановлении резервной копии с параметром NORECOVERY.
Восстановление базы данных с ключевым словом KEEP_CDC не приводит к созданию заданий по системе отслеживания измененных данных. Чтобы извлечь изменения из журнала после восстановления базы данных, заново создайте задание отслеживания изменений и задание очистки для восстановленной базы данных. Дополнительные сведения см. в разделе sys.sp_cdc_add_job (Transact-SQL).
Дополнительные сведения об использовании системы отслеживания измененных данных с зеркальным отображением базы данных см. в разделе Система отслеживания измененных данных и другие функции SQL Server.
<service_broker_WITH_options>
Включает или отключает доставку сообщений Service Broker или задает новый идентификатор Компонента Service Broker. Этот параметр имеет значение, только если компонент Service Broker был включен (активирован) для базы данных при создании резервной копии.
{ ENABLE_BROKER | ERROR_BROKER_CONVERSATIONS | NEW_BROKER }
Поддерживается:RESTORE DATABASE
ENABLE_BROKER
Указывает, что доставка сообщений Service Broker включена в конце восстановления, чтобы немедленно отправлять сообщения. По умолчанию доставка сообщений Service Broker отключена во время восстановления. Существующий идентификатор компонента Service Broker сохраняется в базе данных.
ERROR_BROKER_CONVERSATIONS
Завершает все диалоги, находящиеся в состоянии ошибки, которые были присоединены к базе данных или восстановлены. Это дает возможность приложениям выполнять регулярную очистку существующих сеансов связи. Доставка сообщений компонента Service Broker отключается до завершения данной операции, затем снова включается. Существующий идентификатор компонента Service Broker сохраняется в базе данных.
NEW_BROKER
Указывает, что базе данных назначен новый идентификатор компонента Service Broker. Поскольку база данных предполагает наличие нового компонента Service Broker, все существующие сеансы связи в базе данных будут немедленно удалены, не выдавая диалоговых сообщений о завершении. Все маршруты, ссылающиеся на прежний идентификатор компонента Service Broker, должны быть повторно созданы с использованием нового идентификатора.
<point_in_time_WITH_options>
Поддерживается:RESTORE {DATABASE|LOG} и только для полных или массово зарегистрированных моделей восстановления.
Можно восстановить базу данных на определенный момент времени или к определенной транзакции, указав целевую точку восстановления в предложении STOPAT, STOPATMARK или STOPBEFOREMARK. Восстановление на определенный момент времени или к определенной транзакции всегда выполняется из резервной копии журнала. В каждой RESTORE LOG-выписке последовательности восстановления вы должны указать целевое время или транзакцию в идентичной клаузе STOPAT, STOPATMARK или STOPBEFOREMARK.
Для восстановления на определенный момент времени сначала необходимо восстановить полную резервную копию базы данных, конечная точка которой располагается раньше, чем целевая точка восстановления. Чтобы помочь определить, какую резервную копию базы данных восстановить, вы можете по желанию указать пункты WITH STOPAT, STOPATMARK или STOPBEFOREMARK в RESTOREDATABASE операторе, чтобы вызвать ошибку, если резервная копия данных слишком свежая для указанного целевого времени. Однако полная резервная копия базы данных всегда восстанавливается, даже если она содержит целевое время.
Примечание.
Опции RESTORE_DATABASE и RESTORE_LOG точки времени С похожи, но только RESTORE LOG поддерживает аргумент mark_name .
{ СТОПАТ | СТОПАТМАРК | STOP beforemark }
STOPAT = { "datetime' | @_datetime_var* }
Указывает, что база данных будет восстановлена в состояние, в котором она находилась в момент, соответствующий дате и времени, которые указаны в параметре datetime или @datetime_var. Дополнительные сведения об указании даты и времени см. в разделе Типы и функции данных и даты и времени (Transact-SQL).
Если для параметра STOPAT использована переменная, то она должна иметь тип данных varchar, char, smalldatetime или datetime. Только записи журнала транзакций, сделанные до указанных даты и времени, применяются к базе данных.
Примечание.
Если указанное время STOPAT происходит после последней резервной копии LOG, база данных остаётся в состоянии невосстановления, так же как если RESTORE бы LOG работал с NORECOVERY.
Дополнительные сведения см. в разделе Восстановление базы данных SQL Server на определенный момент времени (модель полного восстановления).
STOPATMARK ={ ' | mark_name'lsn:lsn_number' } [ AFTER 'datetime' ]
Задает восстановление до указанной точки восстановления. Заданная транзакция включается в восстановление, но фиксируется только в том случае, если она была изначально зафиксирована в ходе формирования транзакции.
И оба, RESTOREDATABASE и RESTORE LOG поддерживают параметр lsn_number . Этот параметр определяет регистрационный номер транзакции в журнале.
Параметр mark_name поддерживается только RESTORE оператором LOG. Этот параметр идентифицирует метку транзакции в резервной копии журнала.
В операторе LOG, если AFTER datetime опущено, восстановление RESTORE останавливается на первой метке с указанным именем. Если указан параметр AFTER дата_и_время, то восстановление останавливается на первой метке с указанным именем непосредственно перед или после указанных даты_и_времени.
Примечание.
Если указанная отметка, LSN или время происходит после последней резервной копии LOG, база данных остаётся в состоянии невосстановления, так же как если RESTORE бы LOG работал с NORECOVERY.
Дополнительные сведения см. в разделах Использование помеченных транзакций для согласованного восстановления связанных баз данных (модель полного восстановления) и Восстановление до номера LSN (SQL Server).
STOPBEFOREMARK ={ ' | mark_name'lsn:lsn_number' } [ AFTER 'datetime' ]
Задает восстановление до указанной точки восстановления. Заданная транзакция не включается в восстановление; после применения параметра WITH RECOVERY производится ее откат.
И оба, RESTOREDATABASE и RESTORE LOG поддерживают параметр lsn_number . Этот параметр определяет регистрационный номер транзакции в журнале.
Параметр mark_name поддерживается только RESTORE оператором LOG. Этот параметр идентифицирует метку транзакции в резервной копии журнала.
В операторе LOG, если AFTER datetime опущено, восстановление RESTORE останавливается непосредственно перед первой меткой с указанным именем. Если указан параметр AFTER дата_и_время, то восстановление останавливается на первой метке с указанным именем непосредственно перед или после указанных даты_и_времени.
Внимание
Если последовательность частичного восстановления исключает любые файловые группы FILESTREAM , восстановление на момент времени не поддерживается. Можно принудительно продолжить последовательность восстановления. Однако файловые группы FILESTREAM, опущенные в операторе RESTORE , никогда не могут быть восстановлены. Для принудительного продолжения восстановления на момент времени укажите параметр CONTINUE_AFTER_ERROR вместе с параметром STOPAT, STOPATMARK или STOPBEFOREMARK. Если указать параметр CONTINUE_AFTER_ERROR, выполняется последовательность частичного восстановления, а файловая группа FILESTREAM становится невосстановимой.
Результирующие наборы
Сведения о результирующих наборах см. в следующих статьях:
Замечания
Дополнительные замечания см. в следующих статьях:
Указание резервного набора данных
Резервный набор данных содержит резервную копию, полученную в результате отдельной успешной операции резервного копирования. RESTORE, RESTORERESTORE FILELISTONLY, RESTORERESTORE HEADERONLY, и RESTORERESTORE VERIFYONLY операторы работают на одном резервном наборе внутри медиа-набора на указанном резервном устройстве или устройстве. Указанная резервная копия должна быть расположена на наборе носителей. Вы можете получить backup_set_file_number резервного набора с помощью RESTORE HEADERONLY оператора.
Параметр для указания резервного набора данных с целью восстановления имеет вид:
FILE ={ backup_set_file_number backup_set_file_number | @ }
Аргумент номер_файла_резервного_набора указывает позицию резервной копии в наборе носителей. Аргумент номер_файла_резервного_набора, равный 1 (FILE = 1), указывает первый резервный набор данных на носителе данных резервных копий, аргумент номер_файла_резервного_набора, равный 2 (FILE = 2), указывает второй резервный набор данных и т. д.
Поведение этого параметра зависит от инструкции, как описано в следующей таблице:
| Оператор | Поведение параметра резервного набора данных FILE |
|---|---|
| RESTORE | По умолчанию номер файла резервного набора данных равен 1. В RESTORE операторе разрешена только одна опция FILE с резервным копированием. Важно указывать резервные наборы данных по порядку. |
| RESTORE FILELISTONLY | По умолчанию номер файла резервного набора данных равен 1. |
| RESTORE HEADERONLY | По умолчанию обрабатываются все резервные наборы данных в наборе носителей. Набор результатов RESTORE HEADERONLY возвращает информацию о каждом резервном наборе, включая его позицию в медиа-наборе. Чтобы получить сведения о конкретном резервном наборе данных, укажите его положение в качестве значения аргумента номер_файла_резервного_набора_данных в параметре FILE. Примечание: для ленточных носителей RESTORE HEADER обрабатывает только резервные копии на загруженной ленте. |
| RESTORE VERIFYONLY | Значение номера_файла_резервного_набора_данных по умолчанию — 1. |
Примечание.
Параметр FILE, указывающий резервный набор данных, не связан с параметром FILE, указывающим файл базы данных, FILE = { logical_file_name_in_backup | @logical_file_name_in_backup_var }.
Сводные данные о совместимости с параметрами инструкции WITH
Следующие опции WITH поддерживаются только оператором RESTORE : BLOCKSIZE, BUFFERCOUNT, MAXTRANSFERSIZE, PARTIAL, KEEP_REPLICATION, { RECOVERY | NORECOVERY | ОЖИДАТЬ }, ЗАМЕНИТЬ, ПЕРЕЗАПУСТИТЬ, RESTRICTED_USER И { STOPAT | СТОПАТМАРК | STOP beforemark }
Примечание.
Опция PARTIAL поддерживается только .RESTOREDATABASE
В следующей таблице перечислены параметры инструкции WITH, которые используются одной или несколькими инструкциями, и указано, какие инструкции совместимы с каждым параметром. Галочка (√) показывает, что параметр поддерживается; тире (—) показывает, что параметр не поддерживается.
| Параметр инструкции WITH | RESTORE | RESTORE FILELISTONLY | RESTORE HEADERONLY | RESTORE LABELONLY | RESTORE REWINDONLY | RESTORE VERIFYONLY |
|---|---|---|---|---|---|---|
| { КОНТРОЛЬНАЯ СУММА | NO_CHECKSUM } |
√ | √ | √ | √ | - | √ |
| { CONTINUE_AFTER_ERROR | STOP_ON_ERROR } |
√ | √ | √ | √ | - | √ |
| FILE1 | √ | √ | √ | - | - | √ |
| LOADHISTORY | - | - | - | - | - | √ |
| MEDIANAME | √ | √ | √ | √ | - | √ |
| MEDIAPASSWORD | √ | √ | √ | √ | - | √ |
| MOVE | √ | - | - | - | - | √ |
| ПАРОЛЬ | √ | √ | √ | - | - | √ |
| { ПЕРЕМОТАТЬ | NOREWIND } | √ | Только REWIND | Только REWIND | Только REWIND | - | √ |
| СТАТИСТИКА | √ | - | - | - | - | √ |
| { ВЫГРУЗ | NOUNLOAD } | √ | √ | √ | √ | √ | √ |
1 FILE =backup_set_file_number, отличный от {FILE | FILEGROUP}.
Разрешения
Сведения о разрешениях см. в следующих статьях:
Примеры
Примеры см. в следующих статьях:
Следующие шаги
- BACKUP (Transact-SQL)
- RESTORE (Transact-SQL)
- RESTORE FILELISTONLY (Transact-SQL)
- RESTORE HEADERONLY (Transact-SQL)
- RESTORE LABELONLY (Transact-SQL)
- RESTORE REWINDONLY (Transact-SQL)
- RESTORE VERIFYONLY (Transact-SQL)
- Резервное копирование и восстановление баз данных SQL Server
- FILESTREAM (SQL Server)