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

Восстанавливает резервные копии баз данных SQL, созданные с помощью команды BACKUP.Restores SQL database backups taken using the BACKUP command.

Щелкните одну из следующих вкладок, чтобы изучить синтаксис, аргументы, примечания, разрешения и примеры для используемой вам версии SQL.Click one of the following tabs for the syntax, arguments, remarks, permissions, and examples for a particular SQL version with which you are working.

Дополнительные сведения о соглашениях о синтаксисе см. в статье Соглашения о синтаксисе в Transact-SQL.For more information about the syntax conventions, see Transact-SQL Syntax Conventions.

Выберите продукт!Click a product!

В следующей строке щелкните имя продукта, который вас интересует.In the following row, click whichever product name you are interested in. Здесь отобразится другой контент, относящийся к выбранному продукту:The click displays different content here, appropriate for whichever product you click:

        
* SQL Server SQL Server * Управляемый экземплярSQL DB
Базы данных SQLManaged Instance
SQL ParallelSQL Parallel
Data WarehouseData Warehouse

 

SQL ServerSQL Server

Эта команда позволяет выполнить следующие сценарии восстановления.This command enables you to perform the following restore scenarios:

  • Восстановить базу данных из полной резервной копии (полное восстановление).Restore an entire database from a full database backup (a complete restore).
  • Восстановить часть базы данных (частичное восстановление).Restore part of a database (a partial restore).
  • Восстановить в базе данных определенные файлы или файловые группы (восстановление файлов).Restore specific files or filegroups to a database (a file restore).
  • Восстановить в базе данных определенные страницы (восстановление страниц).Restore specific pages to a database (a page restore).
  • Восстановить в базе данных журнал транзакций (восстановление журнала транзакций).Restore a transaction log onto a database (a transaction log restore).
  • Вернуть базу данных к моменту времени, на который был выполнен моментальный снимок базы данных.Revert a database to the point in time captured by a database snapshot.

Дополнительные сведения о сценариях восстановления SQL ServerSQL Server см. в статье Обзор процессов восстановления (SQL Server).For more information about SQL ServerSQL Server restore scenarios, see Restore and Recovery Overview (SQL Server). Дополнительные сведения об аргументах см. в разделе Аргументы инструкции RESTORE (Transact-SQL).For more information about descriptions of the arguments, see RESTORE Arguments (Transact-SQL). При восстановлении базы данных из другого экземпляра примите во внимание сведения из раздела Управление метаданными при обеспечении доступности базы данных на другом экземпляре сервера (SQL Server).When restoring a database from another instance, consider the information from Manage Metadata When Making a Database Available on Another Server Instance (SQL Server).

СинтаксисSyntax

--To Restore an Entire Database from a Full database backup (a Complete Restore):  
RESTORE DATABASE { database_name | @database_name_var }   
 [ FROM <backup_device> [ ,...n ] ]  
 [ WITH   
   {  
    [ RECOVERY | NORECOVERY | STANDBY =   
        {standby_file_name | @standby_file_name_var }   
       ]  
   | ,  <general_WITH_options> [ ,...n ]  
   | , <replication_WITH_option>  
   | , <change_data_capture_WITH_option>  
   | , <FILESTREAM_WITH_option>  
   | , <service_broker_WITH options>   
   | , \<point_in_time_WITH_options—RESTORE_DATABASE>   
   } [ ,...n ]  
 ]  
[;]  

--To perform the first step of the initial restore sequence of a piecemeal restore:  
RESTORE DATABASE { database_name | @database_name_var }   
   <files_or_filegroups> [ ,...n ]  
 [ FROM <backup_device> [ ,...n ] ]   
   WITH   
      PARTIAL, NORECOVERY   
      [  , <general_WITH_options> [ ,...n ]   
       | , \<point_in_time_WITH_options—RESTORE_DATABASE>   
      ] [ ,...n ]   
[;]  

--To Restore Specific Files or Filegroups:   
RESTORE DATABASE { database_name | @database_name_var }   
   <file_or_filegroup> [ ,...n ]  
 [ FROM <backup_device> [ ,...n ] ]   
   WITH   
   {  
      [ RECOVERY | NORECOVERY ]  
      [ , <general_WITH_options> [ ,...n ] ]  
   } [ ,...n ]   
[;]  

--To Restore Specific Pages:   
RESTORE DATABASE { database_name | @database_name_var }   
   PAGE = 'file:page [ ,...n ]'   
 [ , <file_or_filegroups> ] [ ,...n ]  
 [ FROM <backup_device> [ ,...n ] ]   
   WITH   
       NORECOVERY     
      [ , <general_WITH_options> [ ,...n ] ]  
[;]  

--To Restore a Transaction Log:  
RESTORE LOG { database_name | @database_name_var }   
 [ <file_or_filegroup_or_pages> [ ,...n ] ]  
 [ FROM <backup_device> [ ,...n ] ]   
 [ WITH   
   {  
     [ RECOVERY | NORECOVERY | STANDBY =   
        {standby_file_name | @standby_file_name_var }   
       ]  
    | ,  <general_WITH_options> [ ,...n ]  
    | , <replication_WITH_option>  
    | , \<point_in_time_WITH_options—RESTORE_LOG>   
   } [ ,...n ]  
 ]   
[;]  

--To Revert a Database to a Database Snapshot:     
RESTORE DATABASE { database_name | @database_name_var }   
FROM DATABASE_SNAPSHOT = database_snapshot_name   

<backup_device>::=  
{   
   { logical_backup_device_name |  
      @logical_backup_device_name_var }  
 | { DISK    
     | TAPE  
     | URL   
   } = { 'physical_backup_device_name' |  
      @physical_backup_device_name_var }   
}   
Note: URL is the format used to specify the location and the file name for the Microsoft Azure Blob. Although Microsoft Azure storage is a service, the implementation is similar to disk and tape to allow for a consistent and seemless restore experince for all the three devices.  
<files_or_filegroups>::=   
{   
   FILE = { logical_file_name_in_backup | @logical_file_name_in_backup_var }   
 | FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var }   
 | READ_WRITE_FILEGROUPS  
}   

<general_WITH_options> [ ,...n ]::=   
--Restore Operation Options  
   MOVE 'logical_file_name_in_backup' TO 'operating_system_file_name'   
          [ ,...n ]   
 | REPLACE   
 | RESTART   
 | RESTRICTED_USER  | CREDENTIAL  

--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 }   
 | BLOCKSIZE = { blocksize | @blocksize_variable }   

--Data Transfer Options  
 | BUFFERCOUNT = { buffercount | @buffercount_variable }   
 | MAXTRANSFERSIZE = { maxtransfersize | @maxtransfersize_variable }  

--Error Management Options  
 | { CHECKSUM | NO_CHECKSUM }   
 | { STOP_ON_ERROR | CONTINUE_AFTER_ERROR }   

--Monitoring Options  
 | STATS [ = percentage ]   

--Tape Options. 
 | { REWIND | NOREWIND }   
 | { UNLOAD | NOUNLOAD }   

<replication_WITH_option>::=  
 | KEEP_REPLICATION   

<change_data_capture_WITH_option>::=  
 | KEEP_CDC  

<FILESTREAM_WITH_option>::=  
 | FILESTREAM ( DIRECTORY_NAME = directory_name )  

<service_broker_WITH_options>::=   
 | ENABLE_BROKER   
 | ERROR_BROKER_CONVERSATIONS   
 | NEW_BROKER  

\<point_in_time_WITH_options—RESTORE_DATABASE>::=   
 | {  
   STOPAT = { 'datetime'| @datetime_var }   
 | STOPATMARK = 'lsn:lsn_number'  
                 [ AFTER 'datetime']   
 | STOPBEFOREMARK = 'lsn:lsn_number'  
                 [ AFTER 'datetime']   
   }   

\<point_in_time_WITH_options—RESTORE_LOG>::=   
 | {  
   STOPAT = { 'datetime'| @datetime_var }   
 | STOPATMARK = { 'mark_name' | 'lsn:lsn_number' }  
                 [ AFTER 'datetime']   
 | STOPBEFOREMARK = { 'mark_name' | 'lsn:lsn_number' }  
                 [ AFTER 'datetime']   
   }  

АргументыArguments

Описание аргументов см. в разделе Аргументы инструкции RESTORE (Transact-SQL).For descriptions of the arguments, see RESTORE Arguments (Transact-SQL).

Сведения о сценариях восстановленияAbout Restore Scenarios

SQL ServerSQL Server поддерживает различные сценарии восстановления. supports a variety of restore scenarios:

Дополнительные сведения о параметрах инструкции RESTOREAdditional Considerations About RESTORE Options

Неподдерживаемые ключевые слова инструкции RESTOREDiscontinued RESTORE Keywords

В SQL Server 2008SQL Server 2008 следующие ключевые слова больше не поддерживаются.The following keywords were discontinued in SQL Server 2008SQL Server 2008:

Неподдерживаемое ключевое словоDiscontinued keyword Заменены на...Replaced by… Пример заменяющего ключевого словаExample of replacement keyword
LOADLOAD RESTORERESTORE RESTORE DATABASE
TRANSACTIONTRANSACTION LOGLOG RESTORE LOG
DBO_ONLYDBO_ONLY RESTRICTED_USERRESTRICTED_USER RESTORE DATABASE ... WITH RESTRICTED_USER

RESTORE LOGRESTORE LOG

Инструкция RESTORE LOG может включать список файлов, создаваемых во время наката.RESTORE LOG can include a file list to allow for creation of files during roll forward. Эта возможность используется, если резервная копия журналов содержит журнальные записи, произведенные во время добавления файла в базу данных.This is used when the log backup contains log records written when a file was added to the database.

Примечание

Для базы данных, использующей модель полного восстановления или модель восстановления с неполным протоколированием, необходимо, чтобы перед восстановлением базы данных была создана резервная копия конца журнала.For a database using the full or bulk-logged recovery model, in most cases you must back up the tail of the log before restoring the database. Восстановление базы данных без создания резервной копии заключительного фрагмента журнала приведет к ошибке, если инструкция RESTORE DATABASE не содержит предложение WITH REPLACE или WITH STOPAT, в котором должно указываться время или транзакция, выполняемая после завершения резервного копирования данных.Restoring a database without first backing up the tail of the log results in an error, unless the RESTORE DATABASE statement contains either the WITH REPLACE or the WITH STOPAT clause, which must specify a time or transaction that occurred after the end of the data backup. Дополнительные сведения о резервных копиях заключительного фрагмента журнала см. в разделе Резервные копии заключительного фрагмента журнала (SQL Server).For more information about tail-log backups, see Tail-Log Backups (SQL Server).

Сравнение параметров RECOVERY и NORECOVERYComparison of RECOVERY and NORECOVERY

Откат контролируется инструкцией RESTORE при помощи параметров [ RECOVERY | NORECOVERY ].Roll back is controlled by the RESTORE statement through the [ RECOVERY | NORECOVERY ] options:

  • Параметр NORECOVERY указывает на то, что откат не производится.NORECOVERY specifies that roll back not occur. Это позволяет продолжать накат при помощи следующей инструкции в последовательности.This allows roll forward to continue with the next statement in the sequence.

В этом случае последовательность восстановления может восстановить другие резервные копии и выполнить их накат.In this case, the restore sequence can restore other backups and roll them forward.

  • Параметр RECOVERY (параметр по умолчанию) указывает на то, что откат должен быть выполнен после завершения наката для текущей резервной копии.RECOVERY (the default) indicates that roll back should be performed after roll forward is completed for the current backup.

Для восстановления базы данных необходимо, чтобы весь набор восстанавливаемых данных (набор данных наката) был согласован с базой данных.Recovering the database requires that the entire set of data being restored (the roll forward set) is consistent with the database. Если набор данных наката, необходимый для согласования с базой данных, достаточно велик и указан параметр RECOVERY, компонент Компонент Database EngineDatabase Engine формирует ошибку.If the roll forward set has not been rolled forward far enough to be consistent with the database and RECOVERY is specified, the Компонент Database EngineDatabase Engine issues an error.

Поддержка совместимостиCompatibility Support

Резервные копии баз данных master, model и msdb, созданные в более ранней версии SQL ServerSQL Server, не могут быть восстановлены в SQL Server 2017SQL Server 2017.Backups of master, model and msdb that were created by using an earlier version of SQL ServerSQL Server cannot be restored by SQL Server 2017SQL Server 2017.

Примечание

Резервная копия SQL ServerSQL Server не может быть восстановлена на SQL ServerSQL Server, имеющем более раннюю версию.No SQL ServerSQL Server backup be restored to an earlier version of SQL ServerSQL Server than the version on which the backup was created.

В каждой версии SQL ServerSQL Server используется путь по умолчанию, отличный от пути в предыдущих версиях.Each version of SQL ServerSQL Server uses a different default path than earlier versions. Поэтому, чтобы восстановить из резервной копии базу данных, созданную в расположении по умолчанию для архивов предыдущих версий, необходимо использовать параметр MOVE.Therefore, to restore a database that was created in the default location for earlier version backups, you must use the MOVE option. Сведения о новом пути по умолчанию см. в разделе Расположение файлов для экземпляра по умолчанию и именованных экземпляров SQL Server.For information about the new default path, see File Locations for Default and Named Instances of SQL Server.

Если восстановить базу данных предыдущей версии до SQL Server 2017SQL Server 2017, то эта база данных автоматически обновится.After you restore an earlier version database to SQL Server 2017SQL Server 2017, the database is automatically upgraded. Как правило, база данных сразу становится доступной.Typically, the database becomes available immediately. Но если база данных SQL Server 2005SQL Server 2005 содержит полнотекстовые индексы, при обновлении будет произведен их импорт, сброс или повторное создание в зависимости от установленного значения свойства сервера upgrade_option .However, if a SQL Server 2005SQL Server 2005 database has full-text indexes, the upgrade process either imports, resets, or rebuilds them, depending on the setting of the upgrade_option server property. Если при обновлении выбран режим импорта (upgrade_option = 2) или перестроения (upgrade_option = 0), полнотекстовые индексы во время обновления будут недоступны.If the upgrade option is set to import (upgrade_option = 2) or rebuild (upgrade_option = 0), the full-text indexes will be unavailable during the upgrade. В зависимости от объема индексируемых данных процесс импорта может занять несколько часов, а перестроение — в несколько (до десяти) раз больше.Depending the amount of data being indexed, importing can take several hours, and rebuilding can take up to ten times longer. Обратите внимание, что если для обновления выбран режим «Импортировать», а полнотекстовый каталог недоступен, то связанные с ним полнотекстовые индексы будут перестроены.Note also that when the upgrade option is set to import, the associated full-text indexes are rebuilt if a full-text catalog is not available. Чтобы изменить значение свойства сервера upgrade_option , следует использовать процедуру sp_fulltext_service.To change the setting of the upgrade_option server property, use sp_fulltext_service.

При первом присоединении базы данных к новому экземпляру SQL ServerSQL Server или ее восстановлении копия главного ключа базы данных (зашифрованная главным ключом службы) еще не хранится на сервере.When a database is first attached or restored to a new instance of SQL ServerSQL Server, a copy of the database master key (encrypted by the service master key) is not yet stored in the server. Необходимо расшифровать главный ключ базы данных с помощью инструкции OPEN MASTER KEY.You must use the OPEN MASTER KEY statement to decrypt the database master key (DMK). Как только главный ключ базы данных будет расшифрован, появится возможность разрешить автоматическую расшифровку в будущем с помощью инструкции ALTER MASTER KEY REGENERATE, чтобы оставить на сервере копию главного ключа базы данных, зашифрованного с помощью главного ключа службы.Once the DMK has been decrypted, you have the option of enabling automatic decryption in the future by using the ALTER MASTER KEY REGENERATE statement to provision the server with a copy of the DMK, encrypted with the service master key (SMK). После обновления базы данных с переходом от более ранней версии главный ключ базы данных должен быть создан повторно для использования нового алгоритма шифрования AES.When a database has been upgraded from an earlier version, the DMK should be regenerated to use the newer AES algorithm. Дополнительные сведения о повторном создании главного ключа базы данных см. в статье ALTER MASTER KEY (Transact-SQL).For more information about regenerating the DMK, see ALTER MASTER KEY (Transact-SQL). Время, необходимое для повторного создания главного ключа базы данных с обновлением до алгоритма шифрования AES, зависит от числа объектов, защищаемых главным ключом базы данных.The time required to regenerate the DMK key to upgrade to AES depends upon the number of objects protected by the DMK. Повторное создание главного ключа базы данных с обновлением до алгоритма шифрования AES необходимо произвести только один раз. Это никак не повлияет на последующие операции повторного создания, выполняемые в соответствии со стратегией смены ключей.Regenerating the DMK key to upgrade to AES is only necessary once, and has no impact on future regenerations as part of a key rotation strategy.

Общие замечанияGeneral Remarks

Во время автономного восстановления, если указанная база данных используется, функция RESTORE после короткой задержки принудительно отключает пользователей.During an offline restore, if the specified database is in use, RESTORE forces the users off after a short delay. Для восстановления в режиме «в сети» непервичной файловой группы база данных может продолжать использоваться, за исключением тех случаев, когда восстанавливаемая файловая группа переводится в режим вне сети.For online restore of a non-primary filegroup, the database can stay in use except when the filegroup being restored is being taken offline. Данные в указанной базе данных заменяются восстановленными данными.Any data in the specified database is replaced by the restored data.

Дополнительные сведения о восстановлении базы данных см. в разделе Обзор процессов восстановления (SQL Server).For more information about database recovery, see Restore and Recovery Overview (SQL Server).

Операции восстановления между несколькими платформами, даже между процессорами различных типов, могут выполняться, если параметры сортировки базы данных поддерживаются операционной системой.Cross-platform restore operations, even between different processor types, can be performed as long as the collation of the database is supported by the operating system.

После возникновения ошибки инструкция RESTORE может быть запущена вновь.RESTORE can be restarted after an error. Кроме того, можно указать, чтобы, несмотря на ошибки, инструкция RESTORE продолжала работу и восстановила как можно большее количество данных (см. параметр CONTINUE_AFTER_ERROR).In addition, you can instruct RESTORE to continue despite errors, and it restores as much data as possible (see the CONTINUE_AFTER_ERROR option).

Инструкция RESTORE недопустима в явной или неявной транзакции.RESTORE is not allowed in an explicit or implicit transaction.

Восстановление поврежденной базы данных master выполняется при помощи специальной процедуры.Restoring a damaged master database is performed using a special procedure. Дополнительные сведения см. в статье Резервное копирование и восстановление системных баз данных (SQL Server).For more information, see Back Up and Restore of System Databases (SQL Server).

Восстановление базы данных из копии удаляет кэш планов для экземпляра SQL ServerSQL Server.Restoring a database clears the plan cache for the instance of SQL ServerSQL Server. Очистка кэша планов становится причиной перекомпиляции всех последующих планов выполнения и приводит к непредвиденному временному снижению производительности обработки запросов.Clearing the plan cache causes a recompilation of all subsequent execution plans and can cause a sudden, temporary decrease in query performance. Для каждого удаленного хранилища кэша в кэше планов журнал ошибок SQL ServerSQL Server содержит следующее информационное сообщение: " SQL ServerSQL Server обнаружил %d экземпляров, записанных на диск хранилищ кэша для хранилища кэша "%s" (части кэша планов) в результате операций по обслуживанию или изменению конфигурации базы данных".For each cleared cachestore in the plan cache, the SQL ServerSQL Server error log contains the following informational message: " SQL ServerSQL Server has encountered %d occurrence(s) of cachestore flush for the '%s' cachestore (part of plan cache) due to some database maintenance or reconfigure operations". Это сообщение добавляется в журнал каждые пять минут при сбросе кэша в течение этого интервала времени.This message is logged every five minutes as long as the cache is flushed within that time interval.

Чтобы восстановить базу данных доступности, сначала восстановите базу данных в экземпляре SQL ServerSQL Server, а затем добавьте базу данных в группу доступности.To restore an availability database, first restore the database to the instance of SQL ServerSQL Server, and then add the database to the availability group.

СовместимостьInteroperability

Настройка базы данных и восстановлениеDatabase Settings and Restoring

Во время восстановления большинство параметров базы данных, устанавливаемых при помощи инструкции ALTER DATABASE, сбрасывается в значения, в которых они находились в конце резервного копирования.During a restore, most of the database options that are settable using ALTER DATABASE are reset to the values in force at the time of the end of backup.

Однако использование параметра WITH RESTRICTED_USER переопределяет этот режим работы для настройки параметра доступа пользователя.Using the WITH RESTRICTED_USER option, however, overrides this behavior for the user access option setting. Эта настройка всегда сохраняется, если инструкция RESTORE включает параметр WITH RESTRICTED_USER.This setting is always set following a RESTORE statement, which includes the WITH RESTRICTED_USER option.

Восстановление зашифрованной базы данныхRestoring an Encrypted Database

Чтобы восстановить зашифрованную базу данных, необходимо иметь доступ к сертификату или асимметричному ключу, который использовался для шифрования базы данных.To restore a database that is encrypted, you must have access to the certificate or asymmetric key that was used to encrypt the database. Без сертификата или асимметричного ключа восстановить базу данных нельзя.Without the certificate or asymmetric key, the database cannot be restored. Поэтому сертификат, используемый для шифрования ключа шифрования базы данных, должен храниться в течение всего времени, пока есть необходимость в резервной копии.As a result, the certificate that is used to encrypt the database encryption key must be retained as long as the backup is needed. Дополнительные сведения см. в статье SQL Server Certificates and Asymmetric Keys.For more information, see SQL Server Certificates and Asymmetric Keys.

Восстановление базы данных с включенным форматом хранения vardecimalRestoring a Database Enabled for vardecimal Storage

Резервное копирование и восстановление правильно работают с форматом хранения vardecimal.Backup and restore work correctly with the vardecimal storage format. Дополнительные сведения о формате хранения vardecimal см. в разделе sp_db_vardecimal_storage_format (Transact-SQL).For more information about vardecimal storage format, see sp_db_vardecimal_storage_format (Transact-SQL).

Восстановление полнотекстовых данныхRestore Full-Text Data

Во время полного восстановления полнотекстовые данные восстанавливаются вместе с другими данными базы данных.Full-text data is restored together with other database data during a complete restore. С помощью обычного синтаксиса RESTORE DATABASE database_name FROM backup_device полнотекстовые файлы восстанавливаются как часть файлов базы данных.Using the regular RESTORE DATABASE database_name FROM backup_device syntax, the full-text files are restored as part of the database file restore.

Инструкция RESTORE может также использоваться для восстановления в разные расположения, для разностного восстановления, восстановления файлов и файловых групп, а также для восстановления файлов и файловых групп полнотекстовых данных.The RESTORE statement also can be used to perform restores to alternate locations, differential restores, file and filegroup restores, and differential file and filegroup restores of full-text data. Кроме того, инструкция RESTORE может восстанавливать как полнотекстовые файлы, так и файлы с данными базы данных.In addition, RESTORE can restore full-text files only, as well as with database data.

Примечание

Полнотекстовые каталоги, импортированные из SQL Server 2005SQL Server 2005, по-прежнему рассматриваются как файлы базы данных.Full-text catalogs imported from SQL Server 2005SQL Server 2005 are still treated as database files. Для них остается применимой процедура SQL Server 2005SQL Server 2005 по резервному копированию полнотекстовых каталогов, за исключением того, что более нет необходимости использовать паузу и возобновление в процессе выполнения резервного копирования.For these, the SQL Server 2005SQL Server 2005 procedure for backing up full-text catalogs remains applicable, except that pausing and resuming during the backup operation are no longer necessary. Дополнительные сведения см. в разделе Резервное копирование и восстановление полнотекстовых каталогов.For more information, see Backing Up and Restoring Full-Text Catalogs.

МетаданныеMetadata

SQL ServerSQL Server включает таблицы журналов резервного копирования и восстановления, в которые заносятся данные слежения за резервным копированием и восстановлением для каждого экземпляра сервера. includes backup and restore history tables that track the backup and restore activity for each server instance. При выполнении восстановления таблицы журнала резервного копирования также изменяются.When a restore is performed, the backup history tables are also modified. Сведения об этих таблицах см. в разделе Журнал и сведения о заголовке резервной копии (SQL Server).For information on these tables, see Backup History and Header Information (SQL Server).

Влияние параметра REPLACEREPLACE Option Impact

Параметр REPLACE должен использоваться редко и после тщательного анализа.REPLACE should be used rarely and only after careful consideration. Восстановление обычно не допускает случайной перезаписи базы данных другой базой данных.Restore normally prevents accidentally overwriting a database with a different database. Если указанная в инструкции RESTORE база данных уже существует на текущем сервере, а идентификатор GUID семейства для заданной базы данных отличается от идентификатора GUID семейства для базы данных, записанного в резервном наборе данных, то ее восстановление не будет выполнено.If the database specified in a RESTORE statement already exists on the current server and the specified database family GUID differs from the database family GUID recorded in the backup set, the database is not restored. Это является важной защитной мерой.This is an important safeguard.

Параметр REPLACE отменяет несколько важных проверок, обычно выполняемых операцией восстановления.The REPLACE option overrides several important safety checks that restore normally performs. Отменяются следующие проверки.The overridden checks are as follows:

  • Проверка на восстановление поверх существующей базы данных резервной копии, созданной для другой базы данных.Restoring over an existing database with a backup taken of another database.

    При использовании параметра REPLACE при восстановлении можно записать данные поверх существующей базы данных независимо от того, какие базы данных содержатся в резервном наборе данных, даже если указанное имя данных отличается от записанного в резервном наборе.With the REPLACE option, restore allows you to overwrite an existing database with whatever database is in the backup set, even if the specified database name differs from the database name recorded in the backup set. Это может привести к случайной перезаписи поверх базы данных другой базы данных.This can result in accidentally overwriting a database by a different database.

  • Проверка на восстановление базы данных, использующей модель полного восстановления или модель восстановления с неполным протоколированием, для которой не была создана резервная копия заключительного фрагмента журнала, и не был применен параметр STOPAT.Restoring over a database using the full or bulk-logged recovery model where a tail-log backup has not been taken and the STOPAT option is not used.

    При использовании параметра REPLACE возможна потеря зафиксированных данных, поскольку последние записанные в журнал данные еще не были скопированы в резервную копию.With the REPLACE option, you can lose committed work, because the log written most recently has not been backed up.

  • Перезапись существующих файлов.Overwriting existing files.

    Проверка на перезапись существующих файлов неверного типа (например XLS-файлов) или файлов, используемых другой базой данных, в данный момент находящейся не в режиме в сети.For example, a mistake could allow overwriting files of the wrong type, such as .xls files, or that are being used by another database that is not online. Возможна случайная потеря данных в случае перезаписи существующих файлов, несмотря на то, что восстановленная база данных будет полной.Arbitrary data loss is possible if existing files are overwritten, although the restored database is complete.

Повторное восстановлениеRedoing a Restore

Отменить результаты восстановления невозможно, однако можно отменить результаты копирования данных и произвести накат для каждого файла по отдельности.Undoing the effects of a restore is not possible; however, you can negate the effects of the data copy and roll forward by starting over on a per-file basis. Для перезапуска восстановите нужный файл и выполните накат повторно.To start over, restore the desired file and perform the roll forward again. Например, если случайно было восстановлено слишком много резервных копий журналов и нужная точка остановки восстановления пройдена, нужно перезапустить последовательность.For example, if you accidentally restored too many log backups and overshot your intended stopping point, you would have to restart the sequence.

Последовательность восстановления может быть прервана и перезапущена при восстановлении всего содержимого соответствующих файлов.A restore sequence can be aborted and restarted by restoring the entire contents of the affected files.

Восстановление базы данных к моментальному снимку базы данныхReverting a Database to a Database Snapshot

Операция восстановления базы данных, указываемая с помощью параметра DATABASE_SNAPSHOT, переносит всю базу данных-источник назад во времени, восстанавливая ее на момент создания моментального снимка базы данных, т. е. перезаписывая базу данных-источник данными из указанного моментального снимка.A revert database operation (specified using the DATABASE_SNAPSHOT option) takes a full source database back in time by reverting it to the time of a database snapshot, that is, overwriting the source database with data from the point in time maintained in the specified database snapshot. В данный момент может существовать только моментальный снимок, к которому выполняется восстановление.Only the snapshot to which you are reverting can currently exist. Затем операция отката вновь создает журнал (поэтому впоследствии нельзя будет выполнить накат возвращенной базы данных к точке пользовательской ошибки).The revert operation then rebuilds the log (therefore, you cannot later roll forward a reverted database to the point of user error).

Потеря данных затронет только изменения в базе данных, произведенные после создания моментального снимка.Data loss is confined to updates to the database since the snapshot's creation. Метаданные возвращенной базы данных соответствуют метаданным времени создания моментального снимка.The metadata of a reverted database is the same as the metadata at the time of snapshot creation. Однако при возвращении к моментальному снимку удаляются все полнотекстовые каталоги.However, reverting to a snapshot drops all the full-text catalogs.

Возврат из моментальных снимков базы данных не предназначен для восстановления носителей.Reverting from a database snapshot is not intended for media recovery. В отличие от обычного резервного набора данных, моментальный снимок базы данных является неполной копией файлов базы данных.Unlike a regular backup set, the database snapshot is an incomplete copy of the database files. В том случае, если база данных или моментальный снимок базы данных повреждены, возврат из моментального снимка может оказаться невозможным.If either the database or the database snapshot is corrupted, reverting from a snapshot is likely to be impossible. Более того, даже если оно окажется возможным, восстановление в случае повреждения вряд ли поможет устранить проблему.Furthermore, even when possible, reverting in the event of corruption is unlikely to correct the problem.

Ограничения на возвратRestrictions on Reverting

Возврат не поддерживается в следующих условиях.Reverting is unsupported under the following conditions:

  • Если база данных-источник содержит файловые группы, доступные только для чтения, или сжатые файловые группы.The source database contains any read-only or compressed filegroups.
  • Если какие-либо файлы, работавшие в режиме «вне сети» во время создания моментального снимка, сейчас работают автономно.Any files are offline that were online when the snapshot was created.
  • Если в настоящий момент существует несколько моментальных снимков базы данных.More than one snapshot of the database currently exists.

Дополнительные сведения см. в разделе Восстановление базы данных до состояния, сохраненного в моментальном снимке.For more information, see Revert a Database to a Database Snapshot.

безопасностьSecurity

В операции создания резервной копии могут дополнительно указываться пароли для набора носителей, резервного набора данных или и того и другого.A backup operation may optionally specify passwords for a media set, a backup set, or both. Если для набора носителей или резервного набора данных установлен пароль, то в инструкции RESTORE необходимо указывать правильные пароли.When a password has been defined on a media set or backup set, you must specify the correct password or passwords in the RESTORE statement. Эти пароли предотвращают несанкционированные операции восстановления и присоединения резервных наборов данных к носителю при помощи инструментальных средств SQL ServerSQL Server.These passwords prevent unauthorized restore operations and unauthorized appends of backup sets to media using SQL ServerSQL Server tools. Однако защищенный паролем носитель может быть переписан инструкцией BACKUP с параметром FORMAT.However, password-protected media can be overwritten by the BACKUP statement's FORMAT option.

Важно!

Данный пароль не обеспечивает надежную защиту.The protection provided by this password is weak. Он предназначен для предотвращения неверного восстановления при использовании средств SQL ServerSQL Server авторизованными или неавторизованными пользователями.It is intended to prevent an incorrect restore using SQL ServerSQL Server tools by authorized or unauthorized users. При этом остается возможным чтение данных резервных копий с помощью других средств или замена пароля.It does not prevent the reading of the backup data by other means or the replacement of the password. Этот компонент находится в режиме обслуживания и может быть удален в будущей версии Microsoft SQL Server.This feature is in maintenance mode and may be removed in a future version of Microsoft SQL Server. Избегайте использования этого компонента в новых разработках и запланируйте изменение существующих приложений, в которых он применяется.Avoid using this feature in new development work, and plan to modify applications that currently use this feature.Рекомендуемым способом защиты резервных копий является хранение лент с резервными копиями в безопасном месте или создание резервных копий на диске в виде файлов, защищенных соответствующими списками управления доступом (ACL).The best practice for protecting backups is to store backup tapes in a secure location or back up to disk files that are protected by adequate access control lists (ACLs). Списки ACL должны располагаться в корневом каталоге, в котором создаются резервные копии.The ACLs should be set on the directory root under which backups are created.

Примечание

Сведения о резервном копировании и восстановлении SQL Server в хранилище BLOB-объектов Microsoft Azure см. в разделе Резервное копирование и восстановление SQL Server с помощью службы хранилища BLOB-объектов Microsoft Azure.For information specific to SQL Server backup and restore with the Microsoft Azure Blob storage, see SQL Server Backup and Restore with Microsoft Azure Blob Storage Service.

РазрешенияPermissions

Если восстанавливаемая база данных не существуют, для выполнения инструкции RESTORE у пользователя должны быть разрешения CREATE DATABASE.If the database being restored does not exist, the user must have CREATE DATABASE permissions to be able to execute RESTORE. Если база данных существует, разрешения на выполнение инструкции RESTORE по умолчанию предоставлены членам предопределенных ролей сервера sysadmin и dbcreator , а также владельцу базы данных (dbo) (для параметра FROM DATABASE_SNAPSHOT база данных всегда существует).If the database exists, RESTORE permissions default to members of the sysadmin and dbcreator fixed server roles and the owner (dbo) of the database (for the FROM DATABASE_SNAPSHOT option, the database always exists).

Разрешения на выполнение инструкции RESTORE даются ролям, в которых данные о членстве всегда доступны серверу.RESTORE permissions are given to roles in which membership information is always readily available to the server. Так как членство в предопределенной роли базы данных может быть проверено только тогда, когда база данных доступна и не повреждена, что не всегда имеет место при выполнении инструкции RESTORE, члены предопределенной роли базы данных db_owner не имеют разрешений RESTORE.Because fixed database role membership can be checked only when the database is accessible and undamaged, which is not always the case when RESTORE is executed, members of the db_owner fixed database role do not have RESTORE permissions.

ПримерыExamples

Во всех примерах предполагается, что выполнено полное резервное копирование базы данных.All the examples assume that a full database backup has been performed.

Примеры выполнения инструкции RESTORE.The RESTORE examples include the following:

Примечание

Дополнительные примеры см. в темах по восстановлению из раздела Обзор процессов восстановления (SQL Server).For additional examples, see the restore how-to topics that are listed in Restore and Recovery Overview (SQL Server).

A.A. Восстановление всей базы данныхRestoring a full database

В следующем примере производится восстановление базы данных из полной резервной копии, находящейся на логическом устройстве резервного копирования на магнитной ленте AdventureWorksBackups.The following example restores a full database backup from the AdventureWorksBackups logical backup device. Пример создания этого устройства см. в разделе Устройства резервного копирования.For an example of creating this device, see Backup Devices.

RESTORE DATABASE AdventureWorks2012   
   FROM AdventureWorks2012Backups;  

Примечание

Для базы данных, использующей модель полного восстановления или модель восстановления с неполным протоколированием, SQL ServerSQL Server в большинстве случаев требует, чтобы перед восстановлением базы данных была создана резервная копия конца журнала.For a database using the full or bulk-logged recovery model, SQL ServerSQL Server requires in most cases that you back up the tail of the log before restoring the database. Дополнительные сведения см. в статье Резервные копии заключительного фрагмента журнала (SQL Server).For more information, see Tail-Log Backups (SQL Server).

[В начало списка примеров][Top of examples]

Б.B. Восстановление полной и разностной резервных копий базы данныхRestoring full and differential database backups

В данном примере производится восстановление полной резервной копии базы данных, за которым следует восстановление из разностной резервной копии с устройства резервного копирования Z:\SQLServerBackups\AdventureWorks2012.bak, на котором содержатся обе резервные копии.The following example restores a full database backup followed by a differential backup from the Z:\SQLServerBackups\AdventureWorks2012.bak backup device, which contains both backups. Полная резервная копия базы данных — это шестой резервный набор данных на устройстве (FILE = 6), а разностная резервная копия базы данных — девятый резервный набор данных на устройстве (FILE = 9).The full database backup to be restored is the sixth backup set on the device (FILE = 6), and the differential database backup is the ninth backup set on the device (FILE = 9). База данных будет восстановлена после восстановления разностной резервной копии.As soon as the differential backup is recovered, the database is recovered.

RESTORE DATABASE AdventureWorks2012  
   FROM DISK = 'Z:\SQLServerBackups\AdventureWorks2012.bak'  
   WITH FILE = 6  
      NORECOVERY;  
RESTORE DATABASE AdventureWorks2012  
   FROM DISK = 'Z:\SQLServerBackups\AdventureWorks2012.bak'  
   WITH FILE = 9  
      RECOVERY;  

[В начало списка примеров][Top of examples]

В.C. Восстановление базы данных с использованием синтаксиса RESTARTRestoring a database using RESTART syntax

В данном примере параметр RESTART используется для перезапуска операции RESTORE, прерванной ошибкой питания на сервере.The following example uses the RESTART option to restart a RESTORE operation interrupted by a server power failure.

-- This database RESTORE halted prematurely due to power failure.  
RESTORE DATABASE AdventureWorks2012  
   FROM AdventureWorksBackups;  
-- Here is the RESTORE RESTART operation.  
RESTORE DATABASE AdventureWorks2012   
   FROM AdventureWorksBackups WITH RESTART;  

[В начало списка примеров][Top of examples]

Г.D. Восстановление базы данных и перемещение файловRestoring a database and move files

В следующем примере производится полное восстановление базы данных и журнала транзакций, после чего восстановленная база данных перемещается в каталог C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Data.The following example restores a full database and transaction log and moves the restored database into the C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Data directory.

RESTORE DATABASE AdventureWorks2012  
   FROM AdventureWorksBackups  
   WITH NORECOVERY,   
      MOVE 'AdventureWorks2012_Data' TO   
'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Data\NewAdvWorks.mdf',   
      MOVE 'AdventureWorks2012_Log'   
TO 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Data\NewAdvWorks.ldf';  
RESTORE LOG AdventureWorks2012  
   FROM AdventureWorksBackups  
   WITH RECOVERY;  

[В начало списка примеров][Top of examples]

Д.E. Копирование базы данных с помощью BACKUP и RESTORECopying a database using BACKUP and RESTORE

В следующем примере с помощью инструкций BACKUP и RESTORE создается копия базы данных AdventureWorks2012AdventureWorks2012.The following example uses both the BACKUP and RESTORE statements to make a copy of the AdventureWorks2012AdventureWorks2012 database. Инструкция MOVE восстанавливает файлы данных и журнала в указанные места.The MOVE statement causes the data and log file to be restored to the specified locations. Количество и имена восстанавливаемых файлов базы данных можно определить с помощью инструкции RESTORE FILELISTONLY.The RESTORE FILELISTONLY statement is used to determine the number and names of the files in the database being restored. Новая копия базы данных называется TestDB.The new copy of the database is named TestDB. Дополнительные сведения см. в разделе Инструкция RESTORE FILELISTONLY (Transact-SQL).For more information, see RESTORE FILELISTONLY (Transact-SQL).

BACKUP DATABASE AdventureWorks2012   
   TO AdventureWorksBackups ;  

RESTORE FILELISTONLY   
   FROM AdventureWorksBackups ;  

RESTORE DATABASE TestDB   
   FROM AdventureWorksBackups   
   WITH MOVE 'AdventureWorks2012_Data' TO 'C:\MySQLServer\testdb.mdf',  
   MOVE 'AdventureWorks2012_Log' TO 'C:\MySQLServer\testdb.ldf';  
GO  

[В начало списка примеров][Top of examples]

Е.F. Восстановление состояния на определенный момент времени с помощью STOPATRestoring to a point-in-time using STOPAT

В следующем примере база данных восстанавливается в состояние на 12:00 AM``April 15, 2020 и демонстрируется операция восстановления, использующая несколько резервных копий журналов.The following example restores a database to its state as of 12:00 AM on April 15, 2020 and shows a restore operation that involves multiple log backups. На устройстве резервного копирования AdventureWorksBackups полная резервная копия базы данных, подлежащей восстановлению, — это третий резервный набор данных на устройстве (FILE = 3), резервная копия первого журнала — это четвертый резервный набор (FILE = 4), резервная копия второго журнала — это пятый резервный набор (FILE = 5).On the backup device, AdventureWorksBackups, the full database backup to be restored is the third backup set on the device (FILE = 3), the first log backup is the fourth backup set (FILE = 4), and the second log backup is the fifth backup set (FILE = 5).

RESTORE DATABASE AdventureWorks2012  
   FROM AdventureWorksBackups  
   WITH FILE=3, NORECOVERY;  

RESTORE LOG AdventureWorks2012  
   FROM AdventureWorksBackups  
   WITH FILE=4, NORECOVERY, STOPAT = 'Apr 15, 2020 12:00 AM';  

RESTORE LOG AdventureWorks2012  
   FROM AdventureWorksBackups  
   WITH FILE=5, NORECOVERY, STOPAT = 'Apr 15, 2020 12:00 AM';  
RESTORE DATABASE AdventureWorks2012 WITH RECOVERY;  

[В начало списка примеров][Top of examples]

G.G. Восстановление журнала транзакций до меткиRestoring the transaction log to a mark

В следующем примере журнал транзакций восстанавливается до метки в помеченной транзакции с именем ListPriceUpdate.The following example restores the transaction log to the mark in the marked transaction named ListPriceUpdate.

USE AdventureWorks2012  
GO  
BEGIN TRANSACTION ListPriceUpdate  
   WITH MARK 'UPDATE Product list prices';  
GO  

UPDATE Production.Product  
   SET ListPrice = ListPrice * 1.10  
   WHERE ProductNumber LIKE 'BK-%';  
GO  

COMMIT TRANSACTION ListPriceUpdate;  
GO  

-- Time passes. Regular database   
-- and log backups are taken.  
-- An error occurs in the database.  
USE master;  
GO  

RESTORE DATABASE AdventureWorks2012  
FROM AdventureWorksBackups  
WITH FILE = 3, NORECOVERY;  
GO  

RESTORE LOG AdventureWorks2012  
   FROM AdventureWorksBackups   
   WITH FILE = 4,  
   RECOVERY,   
   STOPATMARK = 'UPDATE Product list prices';  

[В начало списка примеров][Top of examples]

H.H. Восстановление с использованием синтаксиса TAPERestoring using TAPE syntax

В следующем примере производится восстановление базы данных из полной резервной копии, находящейся на устройстве резервного копирования TAPE.The following example restores a full database backup from a TAPE backup device.

RESTORE DATABASE AdventureWorks2012   
   FROM TAPE = '\\.\tape0';  

[В начало списка примеров][Top of examples]

I.I. Восстановление с использованием синтаксиса FILE и FILEGROUPRestoring using FILE and FILEGROUP syntax

В следующем примере производится восстановление базы данных MyDatabase, содержащей два файла, одну вторичную файловую группу и один журнал транзакций.The following example restores a database named MyDatabase that has two files, one secondary filegroup, and one transaction log. Эта база данных использует модель полного восстановления.The database uses the full recovery model.

Резервная копия базы данных представляет собой девятый резервный набор данных в наборе носителей на логическом устройстве резервного копирования с именем MyDatabaseBackups.The database backup is the ninth backup set in the media set on a logical backup device named MyDatabaseBackups. Затем производится восстановление трех резервных копий журнала из следующих трех резервных наборов данных (10, 11 и 12) на устройстве MyDatabaseBackups с помощью предложения WITH NORECOVERY.Next, three log backups, which are in the next three backup sets (10, 11, and 12) on the MyDatabaseBackups device, are restored by using WITH NORECOVERY. База данных будет восстановлена после восстановления последней резервной копии журналов.After restoring the last log backup, the database is recovered.

Примечание

Восстановление выполняется как отдельный шаг с целью снижения возможности преждевременного восстановления по журналу, до того как будут восстановлены все резервные копии журналов.Recovery is performed as a separate step to reduce the possibility of you recovering too early, before all of the log backups have been restored.

Обратите внимание на два типа параметров RESTORE DATABASE в инструкции FILE.In the RESTORE DATABASE, notice that there are two types of FILE options. Параметры FILE, предшествующие имени устройства резервного копирования, указывают логические имена файлов базы данных, которые будут восстановлены из резервного набора данных, например FILE = 'MyDatabase_data_1'.The FILE options preceding the backup device name specify the logical file names of the database files that are to be restored from the backup set; for example, FILE = 'MyDatabase_data_1'. Этот резервный набор данных не является первой резервной копией базы данных в наборе носителей, поэтому его позиция указывается параметром FILE в предложении WITH: FILE=9.This backup set is not the first database backup in the media set; therefore, its position in the media set is indicated by using the FILE option in the WITH clause, FILE=9.

RESTORE DATABASE MyDatabase  
   FILE = 'MyDatabase_data_1',  
   FILE = 'MyDatabase_data_2',  
   FILEGROUP = 'new_customers'  
   FROM MyDatabaseBackups  
   WITH   
      FILE = 9,  
      NORECOVERY;  
GO  
-- Restore the log backups.  
RESTORE LOG MyDatabase  
   FROM MyDatabaseBackups  
   WITH FILE = 10,   
      NORECOVERY;  
GO  
RESTORE LOG MyDatabase  
   FROM MyDatabaseBackups  
   WITH FILE = 11,   
      NORECOVERY;  
GO  
RESTORE LOG MyDatabase  
   FROM MyDatabaseBackups  
   WITH FILE = 12,   
      NORECOVERY;  
GO  
--Recover the database:  
RESTORE DATABASE MyDatabase WITH RECOVERY;  
GO  

[В начало списка примеров][Top of examples]

J.J. Возврат из моментального снимка базы данныхReverting from a database snapshot

В следующем примере производится восстановление базы данных к моментальному снимку базы данных.The following example reverts a database to a database snapshot. В этом примере предполагается, что в базе данных в настоящее время существует только один моментальный снимок.The example assumes that only one snapshot currently exists on the database. Пример создания этого моментального снимка базы данных см. в разделе Создание моментального снимка базы данных (Transact-SQL).For an example of how to create this database snapshot, see Create a Database Snapshot (Transact-SQL).

Примечание

Восстановление до моментального снимка удаляет все полнотекстовые каталоги.Reverting to a snapshot drops all the full-text catalogs.

USE master;    
RESTORE DATABASE AdventureWorks2012 FROM DATABASE_SNAPSHOT = 'AdventureWorks_dbss1800';  
GO  

Дополнительные сведения см. в разделе Восстановление базы данных до состояния, сохраненного в моментальном снимке.For more information, see Revert a Database to a Database Snapshot.

[В начало списка примеров][Top of examples]

K.K. Восстановление из службы хранилища BLOB-объектов Microsoft AzureRestoring from the Microsoft Azure Blob storage service

В следующих трех примерах используется служба хранилища Microsoft Azure.The three examples below involve the use of the Microsoft Azure storage service. Имя учетной записи хранилища — mystorageaccount.The storage Account name is mystorageaccount. Контейнер для файлов данных называется myfirstcontainer.The container for data files is called myfirstcontainer. Контейнер для файлов резервных копий называется mysecondcontainer.The container for backup files is called mysecondcontainer. Хранимая политика доступа была создана с правами на чтение, запись, удаление и составление списков для каждого контейнера.A stored access policy has been created with read, write, delete, and list, rights for each container. Учетные данные SQL Server были созданы с использованием подписанных URL-адресов, которые связаны с хранимыми политиками доступа.SQL Server credentials were created using Shared Access Signatures that are associated with the Stored Access Policies. Сведения о резервном копировании и восстановлении SQL Server в хранилище BLOB-объектов Microsoft Azure см. в разделе Резервное копирование и восстановление SQL Server с помощью службы хранилища BLOB-объектов Microsoft Azure.For information specific to SQL Server backup and restore with the Microsoft Azure Blob storage, see SQL Server Backup and Restore with Microsoft Azure Blob Storage Service.

K1. Восстановление полной резервной копии базы данных из службы хранилища Microsoft AzureK1. Restore a full database backup from the Microsoft Azure storage service
Полная резервная копия базы данных в mysecondcontainer из Sales будет восстановлена в myfirstcontainer.A full database backup, located at mysecondcontainer, of Sales will be restored to myfirstcontainer. Sales в настоящее время не существует на сервере.Sales does not currently exist on the server.

RESTORE DATABASE Sales
  FROM URL = 'https://mystorageaccount.blob.core.windows.net/mysecondcontainer/Sales.bak'   
  WITH  MOVE 'Sales_Data1' to 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales_Data1.mdf', 
  MOVE 'Sales_log' to 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales_log.ldf', 
  STATS = 10;

K2. Восстановление полной резервной копии базы данных из службы хранилища Microsoft Azure в локальное хранилищеK2. Restore a full database backup from the Microsoft Azure storage service to local storage
Полная резервная копия базы данных в mysecondcontainer из Sales будет восстановлена в локальное хранилище.A full database backup, located at mysecondcontainer, of Sales will be restored to local storage. Sales в настоящее время не существует на сервере.Sales does not currently exist on the server.

RESTORE DATABASE Sales
  FROM URL = 'https://mystorageaccount.blob.core.windows.net/mysecondcontainer/Sales.bak'   
  WITH  MOVE 'Sales_Data1' to 'H:\DATA\Sales_Data1.mdf', 
  MOVE 'Sales_log' to 'O:\LOG\Sales_log.ldf', 
  STATS = 10;

K3. Восстановление полной резервной копии базы данных из локального хранилища в службу хранилища Microsoft AzureK3. Restore a full database backup from local storage to the Microsoft Azure storage service

RESTORE DATABASE Sales
  FROM DISK = 'E:\BAK\Sales.bak'
  WITH  MOVE 'Sales_Data1' to 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales_Data1.mdf', 
  MOVE 'Sales_log' to 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales_log.ldf', 
  STATS = 10;

[В начало списка примеров][Top of examples]

Дополнительные сведенияMuch more information!!

        
SQL ServerSQL Server * Управляемый экземпляр* SQL DB
базы данных SQLManaged Instance
SQL ParallelSQL Parallel
Data WarehouseData Warehouse

 

Управляемый экземпляр Базы данных SQL AzureAzure SQL Database Managed Instance

Эта команда позволяет восстановить всю базу данных из полной резервной копии (полное восстановление).This command enables you to restore an entire database from a full database backup (a complete restore).

Другие поддерживаемые команды RESTORE:For other supported RESTORE commands, see:

Важно!

Сведения о восстановлении из автоматических резервных копий Управляемого экземпляра Базы данных SQL Azure: Восстановление базы данных SQL.To restore from Azure SQL Database Managed Instance automatic backups, see SQL Database Restore.

СинтаксисSyntax

--To Restore an Entire Database from a Full database backup (a Complete Restore):  
RESTORE DATABASE { database_name | @database_name_var }   
 FROM URL = { 'physical_device_name' | @physical_device_name_var } [ ,...n ]   
[;]  

АргументыArguments

DATABASEDATABASE

Указывает целевую базу данных.Specifies the target database.

FROM URLFROM URL

Указывает URL-адрес, используемый для операции восстановления.Specifies the URL to use for the restore operation. Формат URL-адреса используется для восстановления резервных копий из службы хранилища Microsoft Azure.The URL format is used for restoring backups from the Microsoft Azure storage service.

Важно!

Чтобы выполнить восстановление с нескольких устройств при помощи URL-адреса, необходимо использовать токены подписанных URL-адресов (SAS).In order to restore from multiple devices when restoring from URL, you must use Shared Access Signature (SAS) tokens. Примеры создания подписанного URL-адреса см. в разделах Резервное копирование SQL Server на URL-адрес и Упрощение создания учетных данных SQL с токенами подписанных URL-адресов в хранилище Azure с помощью Powershell.For examples creating a Shared Access Signature, see SQL Server Backup to URL and Simplifying creation of SQL Credentials with Shared Access Signature (SAS) tokens on Azure Storage with Powershell.

nn
Заполнитель, который показывает, что можно указать до 64 устройств резервного копирования через запятую.Is a placeholder that indicates that up to 64 backup devices may be specified in a comma-separated list.

Общие замечанияGeneral Remarks

Асинхронное восстановление будет продолжаться даже в случае разрыва соединения с клиентом.For an asynchronous restore, the restore continues even if client connection breaks. В случае разрыва соединения вы можете просмотреть состояние операции восстановления (а также инструкций CREATE и DROP для базы данных) в представлении sys.dm_operation_status.If your connection is dropped, you can check sys.dm_operation_status view for the status of a restore operation (as well as for CREATE and DROP database).

Следующие параметры базы данных устанавливаются или переопределяются и в последующем не могут быть изменены:The following database options are set/overridden and cannot be changed later:

  • NEW_BROKER (если брокер не включен в BAK-файле)NEW_BROKER (if broker is not enabled in .bak file)
  • ENABLE_BROKER (если брокер не включен в BAK-файле)ENABLE_BROKER (if broker is not enabled in .bak file)
  • AUTO_CLOSE=OFF (если для базы данных в BAK-файле установлен параметр AUTO_CLOSE=ON)AUTO_CLOSE=OFF (if a database in .bak file has AUTO_CLOSE=ON)
  • RECOVERY FULL (если для базы данных в BAK-файле установлен режим восстановления SIMPLE или BULK_LOGGED)RECOVERY FULL (if a database in .bak file has SIMPLE or BULK_LOGGED recovery mode)
  • Добавляется оптимизированная для операций в памяти файловая группа с названием XTP (если она отсутствовала в исходном BAK-файле).Memory optimized filegroup is added and called XTP if it was not in the source .bak file. Любые существующие оптимизированные для операций в памяти файловые группы переименовываются в XTPAny existing memory optimized filegroup is renamed to XTP
  • Параметры SINGLE_USER и RESTRICTED_USER преобразуются в MULTI_USERSINGLE_USER and RESTRICTED_USER options are converted to MULTI_USER

Ограничения — управляемый экземпляр базы данных SQLLimitations - SQL Database Managed Instance

Применяются следующие ограничения:These limitations apply:

  • BAK-файлы, содержащие несколько резервных наборов данных, не могут быть восстановлены..BAK files containing multiple backup sets cannot be restored.
  • BAK-файлы, содержащие несколько файлов журнала, не могут быть восстановлены..BAK files containing multiple log files cannot be restored.
  • Если BAK-файл содержит данные FILESTREAM, восстановление завершится сбоем.Restore will fail if .bak contains FILESTREAM data.
  • Резервные копии, которые содержат базы данных с активными объектами в памяти, невозможно восстановить в управляемый экземпляр общего назначения.Backups containing databases that have active In-memory objects cannot be restored to a General Purpose managed instance.
  • На данный момент невозможно восстановление резервных копий, которые содержат базы данных, находящиеся в режиме только для чтения.Backups containing databases in read-only mode cannot currently be restored. В ближайшее время эти ограничения будут устранены.This limitation will be removed soon.

Дополнительные сведения см. в разделе Управляемый экземплярFor more information, see Managed Instance

Восстановление зашифрованной базы данныхRestoring an Encrypted Database

Чтобы восстановить зашифрованную базу данных, необходимо иметь доступ к сертификату или асимметричному ключу, который использовался для шифрования базы данных.To restore a database that is encrypted, you must have access to the certificate or asymmetric key that was used to encrypt the database. Без сертификата или асимметричного ключа восстановить базу данных нельзя.Without the certificate or asymmetric key, the database cannot be restored. Поэтому сертификат, используемый для шифрования ключа шифрования базы данных, должен храниться в течение всего времени, пока есть необходимость в резервной копии.As a result, the certificate that is used to encrypt the database encryption key must be retained as long as the backup is needed. Дополнительные сведения см. в статье SQL Server Certificates and Asymmetric Keys.For more information, see SQL Server Certificates and Asymmetric Keys.

РазрешенияPermissions

Если восстанавливаемая база данных не существуют, для выполнения инструкции RESTORE у пользователя должны быть разрешения CREATE DATABASE.If the database being restored does not exist, the user must have CREATE DATABASE permissions to be able to execute RESTORE.

Разрешения на выполнение инструкции RESTORE даются ролям, в которых данные о членстве всегда доступны серверу.RESTORE permissions are given to roles in which membership information is always readily available to the server. Так как членство в предопределенной роли базы данных может быть проверено только тогда, когда база данных доступна и не повреждена, что не всегда имеет место при выполнении инструкции RESTORE, члены предопределенной роли базы данных db_owner не имеют разрешений RESTORE.Because fixed database role membership can be checked only when the database is accessible and undamaged, which is not always the case when RESTORE is executed, members of the db_owner fixed database role do not have RESTORE permissions.

ПримерыExamples

В следующих примерах при помощи URL-адреса выполняется восстановление резервной копии базы данных только для копирования, а также создаются учетные данные.The following examples restore a copy only database backup from URL, including the creation of a credential.


-- Create credential
CREATE CREDENTIAL [https://mibackups.blob.core.windows.net/wide-world-importers]
WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
       SECRET = 'sv=2017-11-09&ss=bq&srt=sco&sp=rl&se=2022-06-19T22:41:07Z&st=2018-06-01T14:41:07Z&spr=https&sig=s7wddcf0w%3D';
GO
-- Simple example 
RESTORE DATABASE WideWorldImportersStandard
FROM URL = N'https://mibackups.blob.core.windows.net/wide-world-importers/00-WideWorldImporters-Standard.bak',
URL = N'https://mibackups.blob.core.windows.net/wide-world-importers/01-WideWorldImporters-Standard.bak',
URL = N'https://mibackups.blob.core.windows.net/wide-world-importers/02-WideWorldImporters-Standard.bak',
URL = N'https://mibackups.blob.core.windows.net/wide-world-importers/03-WideWorldImporters-Standard.bak'

--The following error is shown if the database already exists:
Msg 1801, Level 16, State 1, Line 9
Database 'WideWorldImportersStandard' already exists. Choose a different database name.

-- An example with variables:
DECLARE @db_name sysname = 'WideWorldImportersStandard';
DECLARE @url nvarchar(400) = N'https://mibackups.blob.core.windows.net/wide-world-importers/WideWorldImporters-Standard.bak';
RESTORE DATABASE @db_name
FROM URL = @url
        
SQL ServerSQL Server Управляемый экземплярSQL DB
Базы данных SQLManaged Instance
* SQL Parallel* SQL Parallel
Data Warehouse *Data Warehouse *

 

SQL Parallel Data WarehouseSQL Parallel Data Warehouse

Восстанавливает пользовательскую базу данных Параллельное хранилище данныхParallel Data Warehouse из резервной копии базы данных на устройство Параллельное хранилище данныхParallel Data Warehouse.Restores a Параллельное хранилище данныхParallel Data Warehouse user database from a database backup to a Параллельное хранилище данныхParallel Data Warehouse appliance. База данных восстанавливается из резервной копии, созданной ранее с помощью команды Параллельное хранилище данныхParallel Data WarehouseBACKUP DATABASE (Parallel Data Warehouse).The database is restored from a backup that was previously created by the Параллельное хранилище данныхParallel Data WarehouseBACKUP DATABASE (Parallel Data Warehouse) command. Используйте команды резервного копирования и восстановления для создания плана аварийного восстановления или для перемещения баз данных с одного устройства на другое.Use the backup and restore operations to build a disaster recovery plan, or to move databases from one appliance to another.

Примечание

Восстановления базы данных master включает восстановление учетных данных для входа на устройство.Restoring master includes restoring appliance login information. Чтобы восстановить базу данных master, воспользуйтесь страницей Восстановление базы данных master (Transact-SQL) инструмента Configuration Manager.To restore master, use the Restore the master Database (Transact-SQL) page in the Configuration Manager tool. Эту операцию может выполнить администратор, у которого есть доступ к управляющему узлу.An administrator with access to the Control node can perform this operation.
Дополнительные сведения о резервном копировании баз данных Параллельное хранилище данныхParallel Data Warehouse см. в разделе "Резервное копирование и восстановление" в Документация по Parallel Data WarehouseParallel Data Warehouse product documentation.For more information about Параллельное хранилище данныхParallel Data Warehouse database backups, see "Backup and Restore" in the Документация по Parallel Data WarehouseParallel Data Warehouse product documentation.

СинтаксисSyntax


-- Restore the master database  
-- Use the Configuration Manager tool.  

Restore a full user database backup.  
RESTORE DATABASE database_name   
    FROM DISK = '\\UNC_path\full_backup_directory'  
[;]  

--Restore a full user database backup and then a differential backup.  
RESTORE DATABASE database_name  
    FROM DISK = '\\UNC_path\differential_backup_directory'   
    WITH [ ( ] BASE = '\\UNC_path\full_backup_directory' [ ) ]   
[;]  

--Restore header information for a full or differential user database backup.  
RESTORE HEADERONLY   
    FROM DISK = '\\UNC_path\backup_directory'  
[;]  

АргументыArguments

RESTORE DATABASE имя_базы_данныхRESTORE DATABASE database_name
Указывает, что нужно восстановить пользовательскую базу данных в базу данных с заданным именем.Specifies to restore a user database to a database called database_name. Имя восстановленной базы данных может отличаться от имени базы данных, для которой была создана резервная копия.The restored database can have a different name than the source database that was backed up. База данных с указанным именем не должна существовать на устройстве назначения перед восстановлением.database_name cannot already exist as a database on the destination appliance. Дополнительные сведения о разрешенных именах баз данных см. в разделе "Правила именования объектов" в статье Документация по Parallel Data WarehouseParallel Data Warehouse product documentation.For more details on permitted database names, see "Object Naming Rules" in the Документация по Parallel Data WarehouseParallel Data Warehouse product documentation.

При восстановлении пользовательской базы данных происходит восстановление полной резервной копии базы данных и затем при необходимости восстановление разностной резервной копии на устройство.Restoring a user database restores a full database backup and then optionally restores a differential backup to the appliance. Восстановление пользовательской базы данных включает пользователей и роли базы данных.A restore of a user database includes restoring database users, and database roles.

FROM DISK = '\\путь_UNC\каталог_резервной_копии'FROM DISK = '\\UNC_path\backup_directory'
Сетевой путь к каталогу, из которого Параллельное хранилище данныхParallel Data Warehouse восстановит файлы резервной копии.The network path and directory from which Параллельное хранилище данныхParallel Data Warehouse will restore the backup files. Например, FROM DISK = '\\xxx.xxx.xxx.xxx\backups\2012\Monthly\08.2012.Mybackup'.For example, FROM DISK = '\\xxx.xxx.xxx.xxx\backups\2012\Monthly\08.2012.Mybackup'.

каталог_резервной_копииbackup_directory
Указывает имя каталога, который содержит полную или разностную резервную копию.Specifies the name of a directory that contains the full or differential backup. Например, операцию RESTORE HEADERONLY можно выполнить для полной или разностной резервной копии.For example, you can perform a RESTORE HEADERONLY operation on a full or differential backup.

каталог_полной_резервной_копииfull_backup_directory
Указывает имя каталога, который содержит полную резервную копию.Specifies the name of a directory that contains the full backup.

каталог_разностной_резервной_копииdifferential_backup_directory
Указывает имя каталога, который содержит разностную резервную копию.Specifies the name of the directory that contains the differential backup.

  • Путь к каталогу резервного копирования должен существовать; его необходимо указать в виде полного пути UNC.The path and backup directory must already exist and must be specified as a fully qualified universal naming convention (UNC) path.
  • Путь к каталогу резервного копирования не может быть локальным путем или расположением на любом из узлов устройства Параллельное хранилище данныхParallel Data Warehouse.The path to the backup directory cannot be a local path and it cannot be a location on any of the Параллельное хранилище данныхParallel Data Warehouse appliance nodes.
  • Максимальная длина пути UNC и имени каталога резервного копирования равна 200 символов.The maximum length of the UNC path and backup directory name is 200 characters.
  • Для сервера или узла необходимо указать IP-адрес.The server or host must be specified as an IP address.

инструкция RESTORE HEADERONLYRESTORE HEADERONLY
Указывает, что необходимо вернуть только сведения заголовка для одной резервной копии пользовательской базы данных.Specifies to return only the header information for one user database backup. Среди прочего заголовок содержит текстовое описание и имя резервной копии.Among other fields, the header includes the text description of the backup, and the backup name. Имя резервной копии может не совпадать с именем каталога, в котором хранятся файлы резервной копии.The backup name does not need to be the same as the name of the directory that stores the backup files.

Результаты инструкции RESTORE HEADERONLY обрабатываются в соответствии с шаблоном после результатов инструкции RESTORE HEADERONLY SQL ServerSQL Server.RESTORE HEADERONLY results are patterned after the SQL ServerSQL Server RESTORE HEADERONLY results. Результат включает более 50 столбцов, и Параллельное хранилище данныхParallel Data Warehouse использует не все из этих столбцов.The result has over 50 columns, which are not all used by Параллельное хранилище данныхParallel Data Warehouse. Описание столбцов в результатах инструкции RESTORE HEADERONLY SQL ServerSQL Server см. в разделе RESTORE HEADERONLY (Transact-SQL).For a description of the columns in the SQL ServerSQL Server RESTORE HEADERONLY results, see RESTORE HEADERONLY (Transact-SQL).

РазрешенияPermissions

Требуется разрешение CREATE ANY DATABASE.Requires the CREATE ANY DATABASE permission.

Требуется учетная запись Windows с разрешениями на доступ к каталогу резервного копирования и на чтение этого каталога.Requires a Windows account that has permission to access and read from the backup directory. Необходимо также сохранить имя учетной записи Windows и пароль в Параллельное хранилище данныхParallel Data Warehouse.You must also store the Windows account name and password in Параллельное хранилище данныхParallel Data Warehouse.

Обработка ошибокError Handling

Команда RESTORE DATABASE возвращает ошибки при выполнении следующих условий:The RESTORE DATABASE command results in errors under the following conditions:

  • Имя базы данных для восстановления уже существует на целевом устройстве.The name of the database to restore already exists on the target appliance. Чтобы избежать этой ошибки, выберите уникальное имя базы данных или удалите существующую базу данных перед началом восстановления.To avoid this, choose a unique database name, or drop the existing database before running the restore.
  • В каталоге резервной копии находится недопустимый набор файлов резервной копии.There is an invalid set of backup files in the backup directory.
  • Разрешений на вход недостаточно для восстановления базы данных.The login permissions are not sufficient to restore a database.
  • Параллельное хранилище данныхParallel Data Warehouse не имеет необходимых разрешений для сетевого расположения, в котором размещаются файлы резервной копии. does not have the correct permissions to the network location where the backup files are located.
  • Сетевое расположение для каталога резервного копирования не существует или недоступно.The network location for the backup directory does not exist, or is not available.
  • На вычислительных узлах или на управляющем узле недостаточно места.There is insufficient disk space on the Compute nodes or Control node. Параллельное хранилище данныхParallel Data Warehouse не подтверждает наличие достаточного места на диске устройства перед началом восстановления. does not confirm that sufficient disk space exists on the appliance before initiating the restore. Поэтому при выполнении инструкции RESTORE DATABASE можно получить сообщение о нехватке места на диске.Therefore, it is possible to generate an out-of-disk-space error while running the RESTORE DATABASE statement. В случае нехватки места на диске Параллельное хранилище данныхParallel Data Warehouse выполняет откат операции восстановления.When insufficient disk space occurs, Параллельное хранилище данныхParallel Data Warehouse rolls back the restore.
  • Целевое устройство, на которое восстанавливается база данных, содержит меньшее количество вычислительных узлов по сравнению с исходным устройством, с которого была создана резервная копия.The target appliance to which the database is being restored has fewer Compute nodes than the source appliance from which the database was backed up.
  • Предпринимается попытка восстановить базу данных в рамках транзакции.The database restore is attempted from within a transaction.

Общие замечанияGeneral Remarks

Параллельное хранилище данныхParallel Data Warehouse отслеживает успешность восстановления базы данных. tracks the success of database restores. Перед восстановлением разностной резервной копии базы данных Параллельное хранилище данныхParallel Data Warehouse проверяет, что полное восстановление всей базы данных успешно завершено.Before restoring a differential database backup, Параллельное хранилище данныхParallel Data Warehouse verifies the full database restore finished successfully.

После восстановления базы данных пользовательская база данных будет иметь уровень совместимости 120.After a restore, the user database will have database compatibility level 120. Это справедливо для всех баз данных независимо от их исходного уровня совместимости.This is true for all databases regardless of their original compatibility level.

Восстановление на устройство с большим количеством вычислительных узловRestoring to an Appliance With a Larger Number of Compute Nodes
Запустите инструкцию DBCC SHRINKLOG (хранилище данных SQL Azure) после восстановления базы данных с устройства меньшего размера на устройство большего размера, так как при повторном распределении увеличится размер журнала транзакций.Run DBCC SHRINKLOG (Azure SQL Data Warehouse) after restoring a database from a smaller to larger appliance since redistribution will increase transaction log.

Восстановление резервной копии на устройство с большим числом вычислительных узлов приводит к увеличению размера базы данных пропорционально количеству вычислительных узлов.Restoring a backup to an appliance with a larger number of Compute nodes grows the allocated database size in proportion to the number of Compute nodes.

Например, при восстановлении базы данных размером 60 ГБ с устройства с двумя узлами (30 ГБ на каждом узле) на устройство с шестью узлами Параллельное хранилище данныхParallel Data Warehouse создает базу данных размером 180 ГБ (6 узлов по 30 ГБ на каждом узле) на устройстве с шестью узлами.For example, when restoring a 60 GB database from a 2-node appliance (30 GB per node) to a 6-node appliance, Параллельное хранилище данныхParallel Data Warehouse creates a 180 GB database (6 nodes with 30 GB per node) on the 6-node appliance. Параллельное хранилище данныхParallel Data Warehouse изначально восстанавливает базу данных на 2 узла, чтобы она соответствовала исходной конфигурации, и затем перераспределяет данные на все 6 узлов. initially restores the database to 2 nodes to match the source configuration, and then redistributes the data to all 6 nodes.

После распределения каждый вычислительный узел будет содержать меньше фактических данных и больше свободного пространства, чем каждый исходный узел на исходном устройстве меньшего размера.After the redistribution each Compute node will contain less actual data and more free space than each Compute node on the smaller source appliance. Используйте дополнительное место для добавления дополнительных данных в базу данных.Use the additional space to add more data to the database. Если размер восстановленной базы данных больше, чем необходимо, вы можете сжать файлы базы данных с помощью инструкции ALTER DATABASE (Parallel Data Warehouse).If the restored database size is larger than you need, you can use ALTER DATABASE (Parallel Data Warehouse) to shrink the database file sizes.

ОграниченияLimitations and Restrictions

В этих ограничениях исходное устройство — это устройство, с которого была создана резервная копия базы данных, а целевое устройство — это устройство, на которое будет восстановлена база данных.For these limitations and restrictions, the source appliance is the appliance from which the database backup was created, and the target appliance is the appliance to which the database will be restored.

  • При восстановлении базы данных статистика не пересчитывается автоматически.Restoring a database does not automatically rebuild statistics.
  • На одном устройстве в один момент времени может быть запущена только одна из инструкций RESTORE DATABASE или BACKUP DATABASE.Only one RESTORE DATABASE or BACKUP DATABASE statement can be running on the appliance at any given time. Если одновременно было отправлено несколько инструкций резервного копирования и восстановления, устройство поместит их в очередь и будет обрабатывать их по одной.If multiple backup and restore statements are submitted concurrently, the appliance will put them into a queue and process them one at a time.
  • Восстановить резервную копию базы данных можно только на целевое устройство Параллельное хранилище данныхParallel Data Warehouse, количество вычислительных узлов на котором не меньше количества узлов на исходном устройстве.You can only restore a database backup to a Параллельное хранилище данныхParallel Data Warehouse target appliance that has the same number or more Compute nodes than the source appliance. Количество вычислительных узлов на целевом устройстве не может быть меньше количества вычислительных узлов на исходном устройстве.The target appliance cannot have fewer Compute nodes than the source appliance.
  • Вы не можете восстановить резервную копию, которая была создана на устройстве с оборудованием SQL Server 2012 PDW, на устройство с оборудованием SQL Server 2008 R2.You cannot restore a backup that was created on an appliance that has SQL Server 2012 PDW hardware to an appliance that has SQL Server 2008 R2 hardware. Это справедливо даже в том случае, если устройство было изначально приобретено с оборудованием SQL Server 2008 R2 PDW, а сейчас на нем запущено программное обеспечение SQL Server 2012 PDW.This holds true even if the appliance was originally purchased with the SQL Server 2008 R2 PDW hardware and is now running SQL Server 2012 PDW software.

БлокировкаLocking

Осуществляет монопольную блокировку объекта DATABASE.Takes an exclusive lock on the DATABASE object.

ПримерыExamples

A.A. Простые примеры использования инструкции RESTORESimple RESTORE examples

В следующем примере восстанавливается полная резервная копия в базу данных SalesInvoices2013.The following example restores a full backup to the SalesInvoices2013 database. Файлы резервной копии сохраняются в каталоге \\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Full.The backup files are stored in the \\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Full directory. База данных SalesInvoices2013 не может существовать на целевом устройстве, в противном случае команда завершится с ошибкой.The SalesInvoices2013 database cannot already exist on the target appliance or this command will fail with an error.

RESTORE DATABASE SalesInvoices2013  
FROM DISK = '\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Full';  

Б.B. Восстановление полной и разностной резервной копииRestore a full and differential backup

В следующем примере восстанавливается полная и разностная резервная копия базы данных SalesInvoices2013The following example restores a full, and then a differential backup to the SalesInvoices2013 database

Полная резервная копия базы данных восстанавливается из полной резервной копии, которая хранится в каталоге '\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Full'.The full backup of the database is restored from the full backup which is stored in the '\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Full' directory. Если восстановление завершится успешно, разностная резервная копия восстанавливается в базу данных SalesInvoices2013.If the restore completes successfully, the differential backup is restored to the SalesInvoices2013 database. Разностная резервная копия сохраняется в каталоге '\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Diff'.The differential backup is stored in the '\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Diff' directory.

RESTORE DATABASE SalesInvoices2013  
    FROM DISK = '\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Diff'  
    WITH BASE = '\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Full'  
[;]  

В.C. Восстановление заголовка резервной копииRestoring the backup header

В этом примере восстанавливаются данные заголовка для резервной копии базы данных '\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Full'.This example restores the header information for database backup '\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Full' . Результаты выполнения команды в одной строке для резервной копии Invoices2013Full.The command results in one row of information for the Invoices2013Full backup.

RESTORE HEADERONLY  
    FROM DISK = '\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Full'  
[;]  

Данные заголовка можно использовать для проверки содержимого резервной копии, или чтобы убедиться в том, что целевое устройство восстановления совместимо с исходным устройством резервного копирования, перед восстановлением резервной копии.You can use the header information to check the contents of a backup, or to make sure the target restoration appliance is compatible with the source backup appliance before attempting to restore the backup.

См. также:See Also

BACKUP DATABASE (Parallel Data Warehouse)BACKUP DATABASE (Parallel Data Warehouse)