Restaurar una copia de seguridad de registros de transacciones (SQL Server)

En este tema se describe cómo restaurar una copia de seguridad del registro de transacciones en SQL Server 2012 mediante SQL Server Management Studio o Transact-SQL.

En este tema

  • Antes de empezar:

    Requisitos previos

    Seguridad

  • Para restaurar una copia de seguridad del registro de transacciones, usando:

    SQL Server Management Studio

    Transact-SQL

  • Tareas relacionadas

Antes de empezar

Requisitos previos

  • Las copias de seguridad deben restaurarse en el mismo orden en el que se crearon. Para que pueda restaurar una copia de seguridad determinada del registro de transacciones, primero debe restaurar las siguientes copias de seguridad anteriores sin revertir las transacciones sin confirmar, es decir, WITH NORECOVERY:

    • La copia de seguridad completa de la base de datos y la última copia de seguridad diferencial, si hay alguna, anteriores a la copia de seguridad del registro de transacciones. La base de datos debe haber utilizado el modelo de recuperación completa o el modelo de recuperación optimizado para cargas masivas de registros antes de crearse la copia de seguridad completa o diferencial más reciente.

    • Todas las copias de seguridad de registros de transacciones realizadas después de la copia de seguridad completa o de la copia de seguridad diferencial (si restaura una) y antes de la copia de seguridad especificada del registro de transacciones. Las copias de seguridad de registros deben haberse aplicado en la secuencia en que fueron creadas, sin saltos en la cadena de registros.

      Para obtener más información acerca de las copias de seguridad del registro de transacciones, vea Copias de seguridad de registros de transacciones (SQL Server) y Aplicar copias de seguridad de registros de transacción (SQL Server).

Seguridad

Permisos

Los permisos RESTORE se conceden a los roles en los que la información acerca de la pertenencia está siempre disponible para el servidor. Debido a que la pertenencia a un rol fijo de base de datos solo se pueden comprobar cuando la base de datos es accesible y no está dañada, lo que no siempre ocurre cuando se ejecuta RESTORE, los miembros del rol fijo de base de datos db_owner no tienen permisos RESTORE.

Icono de flecha usado con el vínculo Volver al principio[Arriba]

Usar SQL Server Management Studio

Nota de advertenciaAdvertencia

El proceso normal de una restauración consiste en seleccionar las copias de seguridad de registros en el cuadro de diálogo Restaurar base de datos junto con las copias de seguridad de datos y diferenciales.

Para restaurar una copia de seguridad del registro de transacciones

  1. Tras conectarse a la instancia apropiada de Microsoft Motor de base de datos de SQL Server, en el Explorador de objetos, haga clic en el nombre del servidor para expandir el árbol correspondiente.

  2. Expanda Bases de datos y, dependiendo de la base de datos, seleccione una base de datos de usuario o expanda Bases de datos del sistema y seleccione una base de datos del sistema.

  3. Haga clic con el botón secundario, seleccione Tareas, Restaurar y, a continuación, haga clic en Registro de transacciones, con lo que se abre el cuadro de diálogo Restaurar registro de transacciones.

    [!NOTA]

    Si la opción Registro de transacciones está atenuada, es posible que primero deba restaurar una copia de seguridad completa o diferencial. Use el cuadro de diálogo de copia de seguridad Base de datos.

  4. En el cuadro de lista Base de datos de la página General, seleccione el nombre de una base de datos. Solo aparecerán las bases de datos en estado de restauración.

  5. 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 copias de seguridad de bases de datos anteriores

      Seleccione la base de datos que desea restaurar en la lista desplegable. La lista solo contiene las bases de datos de las que se han realizado copias de seguridad de acuerdo con el historial de copias de seguridad de msdb.

    • Desde archivo o cinta

      Haga clic en el botón ... para abrir el cuadro de diálogo Seleccionar dispositivos de copia de seguridad. En el cuadro Tipo de medio de copia de seguridad, seleccione uno de los tipos de dispositivo. Para seleccionar uno o varios dispositivos del cuadro Medio de 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.

  6. En la cuadrícula Seleccionar las copias de seguridad del registro de transacciones que se van a restaurar, seleccione las copias de seguridad que desea restaurar. En esta cuadrícula se muestran las copias de seguridad del registro de transacciones disponibles para la base de datos seleccionada. Una copia de seguridad del registro de transacciones solo está disponible si el Primer LSN es superior al Último LSN de la base de datos. Las copias de seguridad de registros aparecen en el orden de los números de secuencia de registro (LSN) que contienen y se deben restaurar en este orden.

    En la siguiente tabla se enumeran los encabezados de columnas de la cuadrícula y se describen sus valores.

    Encabezado

    Valor

    Restaurar

    Las casillas seleccionadas indican los conjuntos de copias de seguridad que se restaurarán.

    Nombre

    Nombre del conjunto de copia de seguridad.

    Componente

    Componente del que se ha realizado una copia de seguridad: Base de datos, Archivo o <en blanco> (para registros de transacciones).

    Base de datos

    Nombre de la base de datos que forma parte de la operación de copia de seguridad.

    Fecha de inicio

    Fecha y hora de inicio de la operación de copia de seguridad, según la configuración regional del cliente.

    Fecha final

    Fecha y hora de finalización de la operación de copia de seguridad, según la configuración regional del cliente.

    Primer LSN

    Número de secuencia de registro de la primera transacción del conjunto de copias de seguridad. En blanco para las copias de seguridad de archivos.

    Último LSN

    Número de flujo de registro de la última transacción del conjunto de copias de seguridad. En blanco para las copias de seguridad de archivos.

    LSN de punto de comprobación

    Número de flujo de registro del punto de comprobación más reciente en el momento en que se creó la copia de seguridad.

    LSN completo

    Número de secuencia de registro de la copia de seguridad completa más reciente de la base de datos.

    Servidor

    Nombre de la instancia del motor de base de datos que realizó la operación de copia de seguridad.

    Nombre de usuario

    Nombre del usuario que realizó la operación de copia de seguridad.

    Tamaño

    Tamaño del conjunto de copias de seguridad, en bytes.

    Posición

    Posición del conjunto de copias de seguridad en el volumen.

    Expiración

    Fecha y hora de expiración del conjunto de copia de seguridad.

  7. Seleccione una de las opciones siguientes:

    • A un momento dado

      Puede conservar el valor predeterminado (Lo más reciente posible) o seleccionar una fecha y hora determinadas haciendo clic en el botón Examinar, que abre el cuadro de diálogo Restauración a un momento dado.

    • Transacción marcada

      Restaura la base de datos al estado de una transacción previamente marcada. Al seleccionar esta opción aparece el cuadro Seleccionar transacción marcada, en el que se muestra una cuadrícula con las transacciones marcadas disponibles en las copias de seguridad del registro de transacciones seleccionadas.

      De forma predeterminada, la restauración se realiza hasta la transacción marcada, sin incluirla. Para restaurar también la transacción marcada, seleccione Incluir transacción marcada.

      En la tabla siguiente se muestran los encabezados de columna de la cuadrícula y se describen sus valores.

      Encabezado

      Valor

      <en blanco>

      Muestra una casilla para seleccionar la marca.

      Marca de transacción

      Nombre de la transacción marcada especificada por el usuario cuando se confirmó la transacción.

      Date

      Fecha y hora de confirmación de la transacción. La fecha y hora de la transacción se muestran tal como están registradas en la tabla gmarkhistory de msdb, no en la fecha y hora del equipo cliente.

      Descripción

      Descripción de la transacción marcada especificada por el usuario al confirmar la transacción (si la hay).

      LSN

      Número de flujo de registro de la transacción marcada.

      Base de datos

      Nombre de la base de datos en la que se confirmó la transacción marcada.

      Nombre de usuario

      Nombre del usuario de la base de datos que confirmó la transacción marcada.

  8. Para ver o seleccionar las opciones avanzadas, haga clic en Opciones, en el panel Seleccionar una página.

  9. En la sección Opciones de restauración, las opciones son:

    • Conservar la configuración de replicación (WITH KEEP_REPLICATION)

      Conserva la configuración de replicación cuando se restaura una base de datos publicada en un servidor distinto de aquel en que se creó.

      Esta opción solo está disponible con la opción Dejar la base de datos lista para su uso revirtiendo las transacciones no confirmadas... (descrita más adelante), que equivale a restaurar una copia de seguridad con la opción RECOVERY.

      La activación de esta opción equivale a usar la opción KEEP_REPLICATION en una instrucción Transact-SQL RESTORE.

    • Preguntar antes de restaurar cada copia de seguridad

      Antes de restaurar cada conjunto de copias de seguridad (después del primero), esta opción abre el cuadro de diálogo Continuar con la restauración, en el que se solicita si desea continuar con la secuencia de restauración. En este cuadro de diálogo se muestra el nombre del siguiente conjunto de medios (si lo hay), el nombre del conjunto de copias de seguridad y la descripción del conjunto de copias de seguridad.

      Esta opción resulta especialmente útil cuando se deben intercambiar cintas de distintos conjuntos de medios. Por ejemplo, se puede utilizar cuando el servidor solo dispone de un dispositivo de cinta. Espere hasta que esté listo para continuar antes de hacer clic en Aceptar.

      Si hace clic en No, la base de datos se quedará en estado de restauración. Para mayor comodidad, puede continuar con la secuencia de restauración una vez completada la última restauración. Si la copia de seguridad siguiente es de datos o diferencial, vuelva a utilizar la tarea Restaurar base de datos. Si la siguiente copia de seguridad es una copia de seguridad de registros, utilice la tarea Restaurar registro de transacciones.

    • Restringir el acceso a la base de datos restaurada (WITH RESTRICTED_USER)

      Hace que la base de datos restaurada esté disponible solo para los miembros de db_owner, dbcreator o sysadmin.

      La activación de esta opción es lo mismo que usar la opción RESTRICTED_USER en una instrucción Transact-SQL RESTORE.

  10. Para las opciones Estado de recuperación, especifique el estado de la base de datos después de la operación de restauración.

    • Dejar la base de datos lista para su uso revirtiendo las transacciones no confirmadas. No pueden restaurarse registros de transacciones adicionales. (RESTORE WITH RECOVERY)

      Recupera la base de datos. Esta opción es equivalente a la opción RECOVERY en una instrucción Transact-SQL RESTORE.

      Elíjala solo si no desea restaurar ningún archivo de registro.

    • Dejar la base de datos no operativa y no revertir transacciones no confirmadas. Pueden restaurarse registros de transacciones adicionales. (RESTORE WITH NORECOVERY)

      Deja la base de datos sin recuperar, en el estado RESTORING. Esta opción es equivalente a usar la opción NORECOVERY en una instrucción Transact-SQL RESTORE.

      Si elige esta opción, la opción Conservar la configuración de replicación no estará disponible.

      Nota importanteImportante

      Para un reflejo o una base de datos secundaria, seleccione siempre esta opción.

    • Dejar la base de datos en modo de solo lectura. Deshacer las transacciones sin confirmar, pero guardar las acciones de deshacer en un archivo para que los efectos de recuperación puedan invertirse. (RESTORE WITH STANDBY)

      Deja la base de datos en estado de espera. Esta opción es equivalente a usar la opción STANDBY en una instrucción Transact-SQL RESTORE.

      Si elige esta opción, debe especificar un archivo en espera.

  11. O bien, especifique un nombre de archivo en espera en el cuadro de texto Archivo en espera. Esta opción es obligatoria si se deja la base de datos en modo de solo lectura. Puede buscar el archivo en espera o escribir su ruta de acceso en el cuadro de texto.

Icono de flecha usado con el vínculo Volver al principio[Arriba]

Usar Transact-SQL

Nota importanteImportante

Se recomienda que especifique siempre WITH NORECOVERY o WITH RECOVERY en todas las instrucciones RESTORE para evitar ambigüedades. Esto es especialmente importante cuando se escriben scripts.

Para restaurar una copia de seguridad del registro de transacciones

  1. Ejecute la instrucción RESTORE 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.

    • La cláusula NORECOVERY.

    La sintaxis básica de esta instrucción es la siguiente:

    RESTORE LOG database_name FROM <backup_device> WITH NORECOVERY.

    Donde database_name es el nombre de la base de datos y <backup_device>es el nombre del dispositivo que contiene la copia de seguridad de registros que se restaura.

  2. Repita el paso 1 para cada copia de seguridad del registro de transacciones que tenga que aplicar.

  3. Después de restaurar la copia de seguridad más reciente en la secuencia de restauración, use una de las instrucciones siguientes para recuperar la base de datos:

    • Recuperar la base de datos como parte de la última instrucción RESTORE LOG:

      RESTORE LOG <database_name> FROM <backup_device> WITH RECOVERY;
      GO
      
    • Esperar a recuperar la base de datos utilizando otra instrucción RESTORE DATABASE:

      RESTORE LOG <database_name> FROM <backup_device> WITH NORECOVERY; 
      RESTORE DATABASE <database_name> WITH RECOVERY;
      GO
      

      Si espera a recuperar la base de datos tendrá la oportunidad de comprobar que ha restaurado todas las copias de seguridad de registros necesarias. Este método suele ser aconsejable al realizar restauraciones a un momento dado.

    Nota importanteImportante

    Si está creando una base de datos reflejada, omita el paso de recuperación. Una base de datos reflejada debe permanecer en el estado RESTORING.

Ejemplos (Transact-SQL)

La base de datos AdventureWorks2012 usa el modelo de recuperación simple de forma predeterminada. En los siguientes ejemplos se requiere la modificación de la base de datos para utilizar el modelo de recuperación completa, como se indica a continuación:

ALTER DATABASE AdventureWorks2012 SET RECOVERY FULL;

A.Aplicar una sola copia de seguridad del registro de transacciones

En el siguiente ejemplo se empieza con la restauración de la base de datos AdventureWorks2012 utilizando una copia de seguridad completa de la base de datos que se encuentra en un dispositivo de copia de seguridad denominado AdventureWorks2012_1. A continuación, se aplica la primera copia de seguridad del registro de transacciones, que se encuentra en un dispositivo de copia de seguridad denominado AdventureWorks2012_log. Finalmente, el ejemplo recupera la base de datos.

RESTORE DATABASE AdventureWorks2012
   FROM AdventureWorks2012_1
   WITH NORECOVERY;
GO
RESTORE LOG AdventureWorks2012
   FROM AdventureWorks2012_log
   WITH FILE = 1,
   WITH NORECOVERY;
GO
RESTORE DATABASE AdventureWorks2012
   WITH RECOVERY;
GO

B.Aplicar varias copias de seguridad del registro de transacciones

En el siguiente ejemplo se empieza con la restauración de la base de datos AdventureWorks2012 utilizando una copia de seguridad completa de la base de datos que se encuentra en un dispositivo de copia de seguridad denominado AdventureWorks2012_1. A continuación, se aplican, una por una, las tres primeras copias de seguridad del registro de transacciones, que se encuentran en un dispositivo de copia de seguridad denominado AdventureWorks2012_log. Finalmente, el ejemplo recupera la base de datos.

RESTORE DATABASE AdventureWorks2012
   FROM AdventureWorks2012_1
   WITH NORECOVERY;
GO
RESTORE LOG AdventureWorks2012
   FROM AdventureWorks2012_log
   WITH FILE = 1,
   NORECOVERY;
GO
RESTORE LOG AdventureWorks2012
   FROM AdventureWorks2012_log
   WITH FILE = 2,
   WITH NORECOVERY;
GO
RESTORE LOG AdventureWorks2012
   FROM AdventureWorks2012_log
   WITH FILE = 3,
   WITH NORECOVERY;
GO
RESTORE DATABASE AdventureWorks2012
   WITH RECOVERY;
GO

Icono de flecha usado con el vínculo Volver al principio[Arriba]

Tareas relacionadas

Icono de flecha usado con el vínculo Volver al principio[Arriba]

Vea también

Referencia

RESTORE (Transact-SQL)

Conceptos

Aplicar copias de seguridad de registros de transacción (SQL Server)