Как восстановить файлы в новое место (Transact-SQL)

В этом подразделе описана процедура восстановления файлов в новое место.

Важное примечаниеВажно!

Системный администратор, восстанавливающий файлы, должен быть единственным лицом, использующим восстанавливаемую базу данных в данный момент.

Восстановление файлов и групп файлов в новое место

  1. При необходимости выполните инструкцию RESTORE FILELISTONLY, чтобы определить количество и имена файлов в полной резервной копии базы данных.

  2. Для восстановления полной резервной копии базы данных выполните инструкцию RESTORE DATABASE, указав:

    • Имя базы данных для восстановления.

    • Устройство резервного копирования, откуда будет восстановлена полная резервная копия.

    • Предложение MOVE для каждого восстанавливаемого в новое место файла.

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

  3. Если файлы были изменены после создания резервной копии, выполните инструкцию RESTORE LOG для применения резервной копии журналов транзакций, указав следующее:

    • Имя базы данных, к которой будет применен журнал транзакций.

    • Устройство резервного копирования, с которого будет восстановлена резервная копия журнала транзакций.

    • Предложение NORECOVERY, если существует другая резервная копия журналов транзакций для применения после текущего; в противном случае укажите предложение RECOVERY.

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

Пример

В этом примере восстанавливаются два файла базы данных MyNwind, первоначально находившихся на диске C, в новое место на диске D. Также будут применены два журнала транзакций, для восстановления базы данных на текущий момент времени. Инструкция RESTORE FILELISTONLY используется, чтобы определить количество и имена файлов восстанавливаемой базы данных (логические и физические).

USE masterGO-- 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 NORECOVERYGO-- Apply the last transaction log backup.RESTORE LOG MyNwind   FROM MyNwind_log2   WITH RECOVERYGO