Restaurar archivos en una nueva ubicación (SQL Server)

Se aplica a:SQL Server

En este tema se describe cómo restaurar archivos en una nueva ubicación en SQL Server con SQL Server Management Studio o Transact-SQL.

En este tema

Antes de empezar

Limitaciones y restricciones

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

  • RESTORE no está permitido en una transacción explícita o implícita.

  • En el modelo de recuperación completa o de registro masivo, antes de poder restaurar archivos, debe hacer una copia de seguridad del registro de transacciones activo (conocido como la cola del registro). Para obtener más información, vea Realizar copia de seguridad de un registro de transacciones (SQL Server).

  • Para restaurar una base de datos cifrada, debe tener acceso al certificado o la clave asimétrica que se usó para cifrarla. La base de datos no se puede restaurar sin el certificado o la clave asimétrica. Como resultado, se debe conservar el certificado que se usa para cifrar la clave de cifrado de base de datos mientras se necesite la copia de seguridad. Para obtener más información, consulte SQL Server Certificates and Asymmetric Keys.

Seguridad

Permisos

Si la base de datos que se va a restaurar no existe, el usuario debe tener CREATE DATABASE permisos para poder ejecutar RESTORE. Si la base de datos existe, RESTORE los permisos se asignan de forma predeterminada a los miembros de los roles fijos de servidor sysadmin y dbcreator, y al propietario (dbo) de la base de datos (para la opción FROM DATABASE_SNAPSHOT, la base de datos siempre existe).

RESTORE Los permisos se conceden a los roles en los que la información sobre la pertenencia siempre está fácilmente disponible para el servidor. Dado que la pertenencia a roles fijos de base de datos solo se puede comprobar cuando la base de datos es accesible y no dañada, que no siempre es el caso cuando RESTORE se ejecuta, los miembros del rol fijo de base de datos db_owner no tienen RESTORE permisos.

Uso de SQL Server Management Studio

Para restaurar archivos en una nueva ubicación

  1. En el Explorador de objetos, conéctese a una instancia del Motor de base de datos de SQL Server, expándala y, después, expanda Bases de datos.

  2. Haga clic con el botón derecho en la base de datos que quiera, seleccione Tareas, Restaurary, luego, haga clic en Archivos y grupos de archivos.

  3. En la página General , en el cuadro de lista A una base de datos , especifique la base de datos que desea restaurar. Puede especificar una nueva base de datos o elegir una base de datos existente de la lista desplegable. La lista incluye todas las bases de datos del servidor, y excluye las bases de datos del sistema master y tempdb.

  4. Para especificar el origen y la ubicación de los conjuntos de copias de seguridad que se deben restaurar, haga clic en una de las opciones siguientes:

    • Desde base de datos

      Escriba un nombre de base de datos en el cuadro de lista. La lista contiene solo las bases de datos de las que se ha realizado una copia de seguridad, según el historial de copias de seguridad de msdb .

    • Desde dispositivo

      Haga clic en el botón Examinar. En el cuadro de diálogo Especificar dispositivos de copia de seguridad , seleccione uno de los tipos de dispositivo enumerados en el cuadro de lista Tipo de medio de copia de seguridad . Para seleccionar uno o varios dispositivos del cuadro de lista Medio para copia de seguridad , haga clic en Agregar.

      Después de agregar los dispositivos que desee al cuadro de lista Medio de copia de seguridad , haga clic en Aceptar para volver a la página General .

  5. En la cuadrícula Seleccionar los conjuntos de copia de seguridad que se van a restaurar , seleccione las copias de seguridad que desea restaurar. En esta cuadrícula se muestran las copias de seguridad disponibles en la ubicación especificada. De forma predeterminada, se sugiere un plan de recuperación. Para anular el plan de recuperación sugerido, puede cambiar las selecciones de la cuadrícula. Las copias de seguridad que dependan de una copia de seguridad deseleccionada se deseleccionarán automáticamente.

    Encabezado de columna Valores
    Restaurar Las casillas activadas indican los conjuntos de copias de seguridad que se restaurarán.
    Nombre El nombre del conjunto de copia de seguridad.
    Tipo de archivo Especifica el tipo de datos en la copia de seguridad: datos, registroo datos de FILESTREAM. Los datos contenidos en tablas están en archivos de datos . Los datos del registro de transacciones están en archivos de registro . Los datos de objetos binarios grandes (BLOB) que están almacenados en el sistema de archivos se encuentran en archivos de datos de FILESTREAM.
    Tipo Tipo de copia de seguridad realizada: Completa, Diferencialo Registro de transacciones.
    Server Nombre de la instancia del motor de base de datos que ha realizado la operación de copia de seguridad.
    Nombre lógico de archivo Nombre lógico del archivo.
    Base de datos Nombre de la base de datos para la operación de copia de seguridad.
    Fecha de inicio Fecha y hora en la que se inició la operación de copia de seguridad, presentadas en la configuración regional del cliente.
    Fecha final Fecha y hora en la que finalizó la operación de copia de seguridad, presentadas en la configuración regional del cliente.
    Tamaño Tamaño del conjunto de copias de seguridad, en bytes.
    Nombre usuario Nombre del usuario que realizó la operación de copia de seguridad.
  6. En el panel Seleccionar una página , haga clic en la página Opciones .

  7. En la cuadrícula Restaurar archivos de base de datos como , especifique una nueva ubicación para el archivo o archivos que desee mover.

    Encabezado de columna Valores
    Nombre del archivo original La ruta de acceso completa de un archivo de copia de seguridad de origen.
    Tipo de archivo Especifica el tipo de datos en la copia de seguridad: datos, registroo datos de FILESTREAM. Los datos contenidos en tablas están en archivos de datos . Los datos del registro de transacciones están en archivos de registro . Los datos de objetos binarios grandes (BLOB) que están almacenados en el sistema de archivos se encuentran en archivos de datos de FILESTREAM.
    Restaurar como La ruta completa del archivo de la base de datos que se va a restaurar. Para especificar un nuevo archivo de restauración, haga clic en el cuadro de texto y edite la ruta de acceso y el nombre de archivo que aparecen de forma predeterminada. Cambiar la ruta de acceso o el nombre de archivo en la columna Restaurar como equivale a usar la opción MOVE en una instrucción Transact-SQL RESTORE .
  8. Seleccione Aceptar.

Uso de Transact-SQL

Para restaurar archivos en una nueva ubicación

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

  2. Ejecute la RESTOREDATABASE instrucción para restaurar la copia de seguridad completa de la base de datos, especificando:

    • 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 crear la copia de seguridad de archivos, ejecute la RESTORE instrucción LOG para aplicar la copia de seguridad del registro de transacciones, especificando:

    • 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.

    • Use la cláusula NORECOVERY si tiene otra copia de seguridad del registro de transacciones que 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 (Transact-SQL)

En este ejemplo se restauran dos de los archivos de la base de datos MyNwind , que se encontraban originalmente en la unidad C, en ubicaciones nuevas de 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 usa para determinar el número y los nombres físicos y lógicos 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  

Consulte también

Restauración de una copia de seguridad de base de datos mediante SSMS
RESTORE (Transact-SQL)
Copiar bases de datos con copia de seguridad y restauración
Restaurar archivos y grupos de archivos (SQL Server)