Compartir a través de


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 2014 mediante SQL Server Management Studio o Transact-SQL.

En este tema

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 sobre las copias de seguridad del registro de transacciones, vea Copias de seguridad del registro de transacciones (SQL Server) y Aplicar copias de seguridad del registro de transacciones (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 puede 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.

Uso de SQL Server Management Studio

Advertencia

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. Después de conectarse a la instancia apropiada de MicrosoftMotor 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 datosy, en función de la base de datos, seleccione la base de datos de un usuario o expanda Bases de datos del sistema y seleccione una base de datos del sistema.

  3. Haga clic con el botón derecho en la base de datos, seleccione Tareas, Restaurary, después, 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 de exploració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 tabla siguiente se muestran los encabezados de columna de la cuadrícula y se describen sus valores.

    Encabezado Value
    Restauración Las casillas seleccionadas indican los conjuntos de copias de seguridad que se restaurarán.
    Nombre Nombre del conjunto de copia de seguridad.
    Componente Componente de 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.
    Server 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 uno de los 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
      <blank> 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 msdbgmarkhistory , 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 revierte la opción transacciones no confirmadas... (descrita más adelante), que equivale a restaurar una copia de seguridad con la RECOVERY opción .

      Comprobar esta opción equivale a usar la KEEP_REPLICATION opción en una instrucción Transact-SQLRESTORE .

    • Preguntar antes de restaurar cada copia de seguridad

      Antes de restaurar cada conjunto de copia 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 quiere 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, dbcreatoro sysadmin.

      Comprobar esta opción es sinónimo de usar la RESTRICTED_USER opción en una instrucción Transact-SQLRESTORE .

  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 RECOVERY opción en una instrucción Transact-SQLRESTORE .

      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 equivale a usar la NORECOVERY opción en una instrucción Transact-SQLRESTORE .

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

      Importante

      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 equivale a usar la STANDBY opción en una instrucción Transact-SQLRESTORE .

      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.

Usar Transact-SQL

Importante

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 del registro que se va a restaurar.

  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.

    Importante

    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  

Related Tasks

Consulte también

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