Восстановление файлов в новое место (SQL Server)Restore Files to a New Location (SQL Server)

Применимо к:Applies to: даSQL ServerSQL Server (все поддерживаемые версии) yesSQL ServerSQL Server (all supported versions) Применимо к:Applies to: даSQL ServerSQL Server (все поддерживаемые версии) yesSQL ServerSQL Server (all supported versions)

В этом разделе описано, как восстановить файлы в новом расположении в SQL Server 2019 (15.x)SQL Server 2019 (15.x) с помощью среды SQL Server Management StudioSQL Server Management Studio или Transact-SQLTransact-SQL.This topic describes how to restore files to a new location in SQL Server 2019 (15.x)SQL Server 2019 (15.x) by using SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-SQL.

В этом разделеIn This Topic

Перед началомBefore You Begin

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

  • Системный администратор, восстанавливающий файлы, должен быть единственным лицом, использующим восстанавливаемую базу данных в данный момент.The system administrator restoring the files must be the only person currently using the database to be restored.

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

  • Перед началом восстановления файлов по модели полного восстановления или модели восстановления с неполным протоколированием необходимо выполнить резервное копирование активного журнала транзакций (который называется заключительным фрагментом журнала).Under the full or bulk-logged recovery model, before you can restore files, you must back up the active transaction log (known as the tail of the log). Дополнительные сведения см. в статье Создание резервной копии журнала транзакций (SQL Server)).For more information, see Back Up a Transaction Log (SQL Server).

  • Чтобы восстановить зашифрованную базу данных, необходимо иметь доступ к сертификату или асимметричному ключу, который использовался для шифрования базы данных.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.

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

PermissionsPermissions

Если восстанавливаемая база данных не существуют, для выполнения инструкции 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.

Использование среды SQL Server Management StudioUsing SQL Server Management Studio

Восстановление файлов и групп файлов в новое местоTo restore files to a new location

  1. В обозревателе объектов подключитесь к экземпляру компонента Компонент SQL Server Database EngineSQL Server Database Engine, разверните его, а затем разверните узел Базы данных.In Object Explorer, connect to an instance of the Компонент SQL Server Database EngineSQL Server Database Engine, expand that instance, and then expand Databases.

  2. Щелкните правой кнопкой мыши нужную базу данных, наведите указатель на пункт Задачи, а затем выберите пункты Восстановить и Файлы и файловые группы.Right-click the database that you want, point to Tasks, point to Restore, and then click Files and Filegroups.

  3. На странице Общие в списке В базу данных введите имя восстанавливаемой базы данных.On the General page, in the To database list box, enter the database to restore. Можно ввести новую базу данных или выбрать уже существующую из раскрывающегося списка.You can enter a new database or choose an existing database from the drop-down list. Список включает все базы данных на сервере кроме системных баз данных master и tempdb.The list includes all databases on the server, excluding the system databases master and tempdb.

  4. Чтобы указать источник и расположение восстанавливаемых резервных наборов данных, выберите один из следующих вариантов.To specify the source and location of the backup sets to restore, click one of the following options:

    • Из базы данныхFrom database

      Введите имя базы данных в списке.Enter a database name in the list box. Данный список содержит только базы данных, резервное копирование которых было выполнено в соответствии с журналом резервного копирования msdb .This list contains only databases that have been backed up according to the msdb backup history.

    • С устройстваFrom device

      Нажмите кнопку обзора.Click the browse button. В диалоговом окне Указание устройств резервного копирования выберите один из перечисленных типов устройств в списке Тип носителя резервной копии .In the Specify backup devices dialog box, select one of the listed device types in the Backup media type list box. Чтобы выбрать одно или несколько устройств в списке Носитель резервной копии , нажмите кнопку Добавить.To select one or more devices for the Backup media list box, click Add.

      После добавления нужных устройств в списке Носитель резервной копии нажмите кнопку ОК для возвращения на страницу Общие .After you add the devices you want to the Backup media list box, click OK to return to the General page.

  5. В сетке Выберите резервные наборы данных для восстановления выберите нужные резервные наборы.In the Select the backup sets to restore grid, select the backups to restore. В этой сетке отображаются резервные копии, доступные в указанном месте.This grid displays the backups available for the specified location. По умолчанию предлагается план восстановления.By default, a recovery plan is suggested. Чтобы переопределить предложенный план восстановления, можно изменить выбранные элементы в сетке.To override the suggested recovery plan, you can change the selections in the grid. Если выбор каких-то резервных копий отменяется, то автоматически отменяется и выбор зависящих от них резервных копий.Any backups that depend on a deselected backup are deselected automatically.

    Заголовок столбцаColumn head ЗначенияValues
    ВосстановлениеRestore Установленные флажки обозначают резервные наборы данных, отмеченные для восстановления.The selected check boxes indicate the backup sets to be restored.
    имя;Name Имя резервного набора данных.The name of the backup set.
    Тип файлаFile Type Задает тип данных в резервной копии: Данные, Журнал или Данные Filestream.Specifies the type of data in the backup: Data, Log, or Filestream Data. Данные, содержащиеся в таблицах, хранятся в файлах типа Данные .Data that is contained in tables is in Data files. Данные журнала транзакций хранятся в файлах типа Журнал .Transaction log data is in Log files. Данные больших двоичных объектов (BLOB), которые хранятся в файловой системе, находятся в файлах типа Данные Filestream .Binary large object (BLOB) data that is stored on the file system is in Filestream Data files.
    ТипType Тип выполняемого резервного копирования: Полное, Разностное или Журнал транзакций.The type of backup performed: Full, Differential, or Transaction Log.
    ServerServer Имя экземпляра ядра СУБД, выполнившего операцию резервного копирования.The name of the Database-Engine instance that performed the backup operation.
    Логическое имя файлаFile Logical Name Логическое имя файла.The logical name of the file.
    База данныхDatabase Имя базы данных, участвовавшей в операции резервного копирования.The name of the database involved in the backup operation.
    Дата началаStart Date Дата и время начала операции резервного копирования, указанные в региональных настройках клиента.The date and time when the backup operation began, presented in the regional setting of the client.
    Дата завершенияFinish Date Дата и время завершения операции резервного копирования, указанные в формате, соответствующем региональным настройкам клиента.The date and time when the backup operation finished, presented in the regional setting of the client.
    РазмерSize Размер резервного набора данных в байтах.The size of the backup set in bytes.
    Имя пользователяUser Name Имя пользователя, выполнившего операцию резервного копирования.The name of the user who performed the backup operation.
  6. На панели Выбор страницы щелкните Параметры .In the Select a page pane, click the Options page.

  7. В сетке Восстановить файлы базы данных как укажите новое расположение для перемещаемых файлов.In the Restore database files as grid, specify a new location for the file or files that you want to move.

    Заголовок столбцаColumn head ЗначенияValues
    Имя исходного файлаOriginal File Name Полный путь исходного файла резервной копии.The full path of a source backup file.
    Тип файлаFile Type Задает тип данных в резервной копии: Данные, Журнал или Данные Filestream.Specifies the type of data in the backup: Data, Log, or Filestream Data. Данные, содержащиеся в таблицах, хранятся в файлах типа Данные .Data that is contained in tables is in Data files. Данные журнала транзакций хранятся в файлах типа Журнал .Transaction log data is in Log files. Данные больших двоичных объектов (BLOB), которые хранятся в файловой системе, находятся в файлах типа Данные Filestream .Binary large object (BLOB) data that is stored on the file system is in Filestream Data files.
    Восстановить какRestore As Полный путь к файлу базы данных, который нужно восстановить.The full path of the database file to be restored. Чтобы указать новый восстанавливаемый файл, щелкните текстовое поле и измените предложенные путь и имя файла.To specify a new restore file, click the text box and edit the suggested path and file name. Изменение пути или имени файла в столбце Восстановить как равнозначно использованию параметра MOVE в инструкции RESTORE языка Transact-SQLTransact-SQL .Changing the path or file name in the Restore As column is equivalent to using the MOVE option in a Transact-SQLTransact-SQL RESTORE statement.
  8. Нажмите кнопку ОК.Click OK.

Использование Transact-SQLUsing Transact-SQL

Восстановление файлов и групп файлов в новое местоTo restore files to a new location

  1. При необходимости выполните инструкцию RESTORE FILELISTONLY, чтобы выяснить число и имена файлов в полной резервной копии базы данных.Optionally, execute the RESTORE FILELISTONLY statement to determine the number and names of the files in the full database backup.

  2. Для восстановления полной резервной копии базы данных выполните инструкцию RESTORE DATABASE, указав:Execute the RESTORE DATABASE statement to restore the full database backup, specifying:

    • Имя базы данных для восстановления.The name of the database to restore.

    • Устройство резервного копирования, откуда будет восстановлена полная резервная копия.The backup device from where the full database backup will be restored.

    • Предложение MOVE для каждого восстанавливаемого в новое место файла.The MOVE clause for each file to restore to a new location.

    • Предложение NORECOVERY.The NORECOVERY clause.

  3. Если файлы были изменены после создания резервной копии, выполните инструкцию RESTORE LOG для применения резервной копии журнала транзакций, указав следующее:If the files have been modified after the file backup was created, execute the RESTORE LOG statement to apply the transaction log backup, specifying:

    • Имя базы данных, к которой будет применен журнал транзакций.The name of the database to which the transaction log will be applied.

    • Устройство резервного копирования, с которого будет восстановлена резервная копия журнала транзакций.The backup device from where the transaction log backup will be restored.

    • Предложение NORECOVERY, если существует другая резервная копия журналов транзакций для применения после текущего; в противном случае укажите предложение RECOVERY.The NORECOVERY clause if you have another transaction log backup to apply after the current one; otherwise, specify the RECOVERY clause.

      Резервные копии журналов транзакций, в случае их использования, должны включать в себя промежуток времени, в течение которого создавались резервные копии файлов и файловых групп.The transaction log backups, if applied, must cover the time when the files and filegroups were backed up.

Примеры (Transact-SQL)Example (Transact-SQL)

В этом примере восстанавливаются два файла базы данных MyNwind , первоначально находившиеся на диске C, в новое место на диске D. Также будут применены два журнала транзакций для восстановления базы данных на текущий момент времени.This example restores two of the files for the MyNwind database that were originally located on Drive C to new locations on Drive D. Two transaction logs will also be applied to restore the database to the current time. Количество восстанавливаемых файлов базы данных, а также их логические и физические имена можно определить с помощью инструкции RESTORE FILELISTONLY .The RESTORE FILELISTONLY statement is used to determine the number and logical and physical names of the files in the database being restored.

USE master;  
GO  
-- First determine the number and names of the files in the backup.  
RESTORE FILELISTONLY  
   FROM MyNwind_1;  
-- Restore the files for MyNwind.  
RESTORE DATABASE MyNwind  
   FROM MyNwind_1  
   WITH NORECOVERY,  
   MOVE 'MyNwind_data_1' TO 'D:\MyData\MyNwind_data_1.mdf',   
   MOVE 'MyNwind_data_2' TO 'D:\MyData\MyNwind_data_2.ndf';  
GO  
-- Apply the first transaction log backup.  
RESTORE LOG MyNwind  
   FROM MyNwind_log1  
   WITH NORECOVERY;  
GO  
-- Apply the last transaction log backup.  
RESTORE LOG MyNwind  
   FROM MyNwind_log2  
   WITH RECOVERY;  
GO  

См. также:See Also

Restore a Database Backup Using SSMS Restore a Database Backup Using SSMS
RESTORE (Transact-SQL) RESTORE (Transact-SQL)
Копирование баз данных путем создания и восстановления резервных копий Copy Databases with Backup and Restore
Восстановление файлов и файловых групп (SQL Server)Restore Files and Filegroups (SQL Server)