Cómo restaurar archivos en una nueva ubicación (Transact-SQL)

En este tema se explica cómo restaurar archivos en una nueva ubicación.

Nota importanteImportante

El administrador del sistema encargado de restaurar los archivos debe ser la única persona que esté utilizando la base de datos.

Para restaurar archivos en una nueva ubicación

  1. Si lo desea, ejecute la instrucción RESTORE FILELISTONLY para determinar el número de archivos y sus nombres en la copia de seguridad completa de la base de datos.

  2. Ejecute la instrucción RESTORE DATABASE para restaurar la copia de seguridad completa de la base de datos; para ello, especifique:

    • El nombre de la base de datos que se va a restaurar.

    • El dispositivo de copia de seguridad desde el que se restaurará la copia de seguridad completa de la base de datos.

    • La cláusula MOVE para cada archivo que se vaya a restaurar en una nueva ubicación.

    • La cláusula NORECOVERY.

  3. Si los archivos se han modificado después de que se creara la copia de seguridad, ejecute la instrucción RESTORE LOG para aplicar la copia de seguridad del registro de transacciones y especifique:

    • El nombre de la base de datos a la que se aplicará el registro de transacciones.

    • El dispositivo de copia de seguridad desde el que se restaurará la copia de seguridad del registro de transacciones.

    • La cláusula NORECOVERY, si hay otra copia de seguridad del registro de transacciones que se deba aplicar después de la actual; de lo contrario, especifique la cláusula RECOVERY.

      Las copias de seguridad del registro de transacciones, si se aplican, deben cubrir el período de tiempo en el que se hizo la copia de seguridad de los archivos y grupos de archivos.

Ejemplo

Este ejemplo restaura dos de los archivos de la base de datos MyNwind, que se encontraban originalmente en la unidad C, a ubicaciones nuevas en la unidad D. También se aplicarán dos registros de transacciones para restaurar la base de datos al momento actual. La instrucción RESTORE FILELISTONLY se utiliza para determinar el número y los nombres lógicos y físicos de los archivos de la base de datos que se están restaurando.

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