Como restaurar arquivos para um novo local (Transact-SQL)

Este tópico explica como restaurar arquivos para um novo local.

Observação importanteImportante

O administrador do sistema que restaura os arquivos deve ser a única pessoa que no momento esteja usando o banco de dados a ser restaurado.

Para restaurar arquivos para um novo local

  1. Opcionalmente, execute a instrução RESTORE FILELISTONLY para determinar o número e os nomes dos arquivos no backup de banco de dados completo.

  2. Execute a instrução RESTORE DATABASE para restaurar o backup de banco de dados completo, especificando:

    • O nome do banco de dados a ser restaurado.

    • O dispositivo de backup do qual o backup de banco de dados completo será restaurado.

    • A cláusula MOVE para cada arquivo a ser restaurado em um no local

    • A cláusula NORECOVERY.

  3. Se os arquivos foram modificados depois que o backup de arquivo foi criado, execute a instrução RESTORE LOG para aplicar o backup de log de transações, especificando:

    • O nome do banco de dados ao qual o log de transações será aplicado.

    • O dispositivo de backup do qual o backup de log de transações será restaurado.

    • A cláusula NORECOVERY se você tiver outro backup de log de transações para aplicar depois do atual; caso contrário, especifique a cláusula RECOVERY.

      Os backups de log de transações, se aplicados, devem cobrir a hora em que os backups dos arquivos e grupos de arquivos foram feitos.

Exemplo

Esse exemplo restaura dois dos arquivos para o banco de dados MyNwind que ficavam originalmente localizados no Drive C em novos locais no Drive D. Dois logs de transações também serão aplicados para restaurar o banco de dados para a hora atual. A instrução RESTORE FILELISTONLY é usada para determinar o número e nomes lógicos e físicos dos arquivos no banco de dados que está sendo restaurado.

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