Share via


Cómo restaurar una base de datos en una ubicación nueva y con un nombre nuevo (Transact-SQL)

Actualizado: 14 de abril de 2006

En este tema se explica cómo restaurar una base de datos con una nueva ubicación y, opcionalmente, con otro nombre.

ms190447.security(es-es,SQL.90).gifNota de seguridad:
Se recomienda no adjuntar ni restaurar bases de datos de orígenes desconocidos o que no sean de confianza. Es posible que dichas bases de datos contengan código dañino que podría ejecutar código Transact-SQL no deseado o provocar errores al modificar el esquema o la estructura de la base de datos física. Para utilizar una base de datos desde un origen desconocido o que no sea de confianza, ejecute DBCC CHECKDB en la base de datos de un servidor que no sea de producción y examine también el código, como procedimientos almacenados u otro código definido por el usuario, en la base de datos.

Para restaurar una base de datos con un nuevo nombre

  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 nuevo nombre para la base de datos.

      [!NOTA] Si va a restaurar la base de datos en otra instancia de servidor, puede usar el nombre original en lugar de uno nuevo.

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

    • La cláusula NORECOVERY, si dispone de copias de seguridad del registro de transacciones que deban aplicarse después de que se restauren las copias de seguridad de archivos. En caso contrario, especifique la cláusula RECOVERY.
      Las copias de seguridad del registro de transacciones, si se aplican, deben cubrir el momento en que se hizo la copia de seguridad de los archivos.

    • La cláusula MOVE para cada archivo que vaya a restaurarse en una nueva ubicación si ya existen los nombres de los archivos. Por ejemplo, puede ser necesario crear una copia de una base de datos existente en el mismo servidor para realizar pruebas. En este caso, los archivos de la base de datos original ya existen, por lo que se deben especificar nombres de archivo distintos al crear la copia de la base de datos durante la operación de restauración.
      La sintaxis de la cláusula MOVE es:
      MOVE 'logical_file_name_in_backup' TO 'operating_system_file_name'
      [ ,...n ] [ , ]
      Donde logical_file_name_in_backup es el nombre del archivo de registro o de datos del conjunto de copia de seguridad y operating_system_file_name es la ubicación en la que se debería restaurar el archivo. n es un marcador de posición que indica que se pueden especificar instrucciones MOVE adicionales. Especifique una instrucción MOVE para cada archivo lógico que desee restaurar a partir del conjunto de copia de seguridad en otra ubicación.

      [!NOTA] Utilice RESTORE FILELISTONLY para obtener una lista de los archivos lógicos del conjunto de copia de seguridad.

Ejemplo

En este ejemplo se crea una base de datos denominada MyAdvWorks. MyAdvWorks es una copia de la base de datos AdventureWorks existente que incluye dos archivos: AdventureWorks_Data y AdventureWorks_Log. Puesto que la base de datos AdventureWorks ya existe, los archivos de la copia de seguridad deben moverse durante la operación de restauración. La instrucción RESTORE FILELISTONLY se utiliza para determinar el número y los nombres de los archivos de la base de datos que se están restaurando.

[!NOTA] Para obtener un ejemplo de cómo crear una copia de seguridad completa de la base de datos AdventureWorks, vea Cómo crear una copia de seguridad de base de datos completa (Transact-SQL).

[!NOTA] En los ejemplos de copia de seguridad y restauración del registro de transacciones, que incluyen restauraciones a un momento dado, se utiliza la base de datos MyAdvWorks_FullRM, creada a partir de AdventureWorks igual que en el siguiente ejemplo MyAdvWorks. Sin embargo, la base de datos MyAdvWorks_FullRM resultante debe cambiarse para usar el modelo de recuperación completa: ALTER DATABASE MyAdvWorks_FullRM SET RECOVERY FULL.

USE master
GO
-- First determine the number and names of the files in the backup.
-- AdventureWorks_Backup is the name of the backup device.
RESTORE FILELISTONLY
   FROM AdventureWorks_Backup
-- Restore the files for MyAdvWorks.
RESTORE DATABASE MyAdvWorks
   FROM AdventureWorks_Backup
   WITH RECOVERY,
   MOVE 'AdventureWorks_Data' TO 'D:\MyData\MyAdvWorks_Data.mdf', 
   MOVE 'AdventureWorks_Log' TO 'F:\MyLog\MyAdvWorks_Log.ldf'
GO

Vea también

Conceptos

Administrar los metadatos cuando una base de datos pasa a estar disponible en otra instancia de servidor
Consideraciones de seguridad para copias de seguridad y restauraciones
Copiar bases de datos con Copia de seguridad y Restaurar

Otros recursos

RESTORE (Transact-SQL)
Tutorial de SQL Server Management Studio

Ayuda e información

Obtener ayuda sobre SQL Server 2005