Aplicar copias de seguridad del registro de transacciones
Este tema solo es relevante para el modelo de recuperación completa o para el modelo de recuperación optimizado para cargas masivas de registros.
En este tema se describe la aplicación de copias de seguridad del registro de transacciones como parte de la restauración de una base de datos de SQL Server. Para aplicar una copia de seguridad del registro de transacciones, deben cumplirse los requisitos siguientes:
Primero debe restaurarse la copia de seguridad diferencial de la base de datos o la copia de seguridad completa inmediatamente anterior de la base de datos.
Todos los registros de transacciones creados después de esa copia de seguridad completa o diferencial de la base de datos deben restaurarse en orden cronológico. Si se pierde o se daña una copia de seguridad del registro de transacciones en esta cadena de registros, solo puede restaurar los registros de transacciones anteriores al registro de transacciones que falta.
Todavía no se ha recuperado la base de datos. No se puede recuperar la base de datos hasta que se haya aplicado el registro de transacciones final. Si recupera la base de datos después de restaurar una de las copias de seguridad intermedias del registro de transacciones, anterior al final de la cadena de registros, no podrá restaurar la base de datos más allá de ese punto sin reiniciar toda la secuencia de restauración, empezando por la copia de seguridad completa de la base de datos.
Registros de transacciones y recuperación
Cuando termina la operación de restauración y recupera la base de datos, la recuperación revierte todas las transacciones incompletas. Este paso se conoce como la fase de deshacer. Revertir es necesario para restaurar la integridad de la base de datos. Después de la reversión, la base de datos pasa a estar en línea y no se pueden aplicar más copias de seguridad del registro de transacciones a la base de datos.
Por ejemplo, una serie de copias de seguridad del registro de transacciones contiene una transacción de larga duración. El inicio de la transacción se registra en la primera copia de seguridad del registro de transacciones, pero el final de la transacción se registra en la segunda copia de seguridad. En la primera copia de seguridad del registro de transacciones no se registra ninguna operación de confirmación o reversión. Si se ejecuta una operación de recuperación cuando se aplica la primera copia de seguridad del registro de transacciones, la transacción de larga ejecución se trata como incompleta y se revierten las modificaciones de datos registradas en la primera copia de seguridad del registro de transacciones de la transacción. SQL Server no admite la aplicación de la segunda copia de seguridad del registro de transacciones a partir de este punto.
Nota
En algunas circunstancias, es posible agregar un archivo explícitamente durante la restauración del registro. Para obtener más información, vea Controlar la creación de archivos agregados durante la puesta al día.
Tener suficientes copias de seguridad de registros para una secuencia de restauración
Debe tener suficientes copias de seguridad de entradas de registro para poder completar una secuencia de restauración. Las copias de seguridad de registros necesarias, incluida la copia del final del registro si es necesaria, deben estar disponibles antes de iniciar la secuencia de restauración.
Usar copias de seguridad de registros para restaurar hasta el momento del error
Suponga la siguiente secuencia de eventos.
Hora |
Evento |
---|---|
8:00 a. m. |
Copia de seguridad de la base de datos para crear una copia de seguridad completa de la base de datos. |
Mediodía |
Copia de seguridad del registro de transacciones. |
4:00 p. m. |
Copia de seguridad del registro de transacciones. |
6:00 p. m. |
Copia de seguridad de la base de datos para crear una copia de seguridad completa de la base de datos. |
8:00 p. m. |
Copia de seguridad del registro de transacciones. |
9:45 p. m. |
Se produce el error. |
Nota
Para obtener una explicación de este ejemplo de secuencia de copias de seguridad, vea Crear copias de seguridad de registros de transacciones.
Para restaurar la base de datos a su estado a las 9:45 p. m. (el momento del error), se puede utilizar cualquiera de los siguientes procedimientos alternativos:
Alternativa 1: restaurar la base de datos mediante la copia de seguridad completa de la base de datos más reciente
Cree una copia del final del registro de transacciones activo actualmente como si fuera el del momento del error.
No restaure la copia de seguridad completa de la base de datos creada a las 08:00:00 a. m. En su lugar, restaure la copia de seguridad completa de la base de datos creada a las 6:00 p. m. más reciente y, a continuación, aplique la copia de seguridad de registros de las 8:00 p. m. y la copia del final del registro.
Alternativa 2: restaurar la base de datos mediante una copia de seguridad completa de la base de datos anterior
Nota
Este proceso alternativo resulta útil si un problema evita que se utilice la copia de seguridad completa de la base de datos creada a las 6:00 p. m. Este proceso lleva más tiempo que restaurar a partir de la copia de seguridad completa de la base de datos creada a las 6:00 p. m.
Cree una copia del final del registro de transacciones activo actualmente como si fuera el del momento del error.
Restaure la copia de seguridad completa de la base de datos creada a las 8:00 a. m. y, después, restaure secuencialmente las cuatro copias de seguridad del registro de transacciones. Esta acción pone al día todas las transacciones completadas hasta las 9:45 p. m.
Esta alternativa señala la seguridad redundante que ofrece el mantenimiento de una cadena de copias de seguridad del registro de transacciones a través de una serie de copias de seguridad completas de base de datos.
Usar copias de seguridad de registros para restaurar hasta un momento específico
En algunos casos, también se pueden utilizar registros de transacciones para restaurar una base de datos hasta un momento específico. Para obtener más información, vea Restaurar bases de datos a un punto de una copia de seguridad.
Aplicar copias de seguridad del registro de transacciones
Es aconsejable restaurar todas las copias de seguridad de registros mediante WITH NORECOVERY:
RESTORE LOG database_name FROM <backup_device> WITH NORECOVERY
A continuación, después de restaurar la última copia de seguridad de registros, recupere la base de datos en una operación aparte:
RESTORE DATABASE database_name WITH RECOVERY
Para aplicar una copia de seguridad del registro de transacciones
Cómo aplicar una copia de seguridad del registro de transacciones (Transact-SQL)
Cómo restaurar copias de seguridad del registro de transacciones (SQL Server Management Studio)
Para restaurar hasta su momento de recuperación