Copias del final del registro (SQL Server)

Se aplica a: SQL Server

Este artículo solamente se aplica a copias de seguridad y restauración de las bases de datos de SQL Server que usan el modelo de recuperación optimizado para cargas masivas de registros o el modelo de recuperación completa.

Una copia del final del registro captura las entradas del registro de las que todavía no se ha realizado copia de seguridad (el final del registro) para evitar la pérdida de trabajo y mantener intacta la cadena de registros. Para poder recuperar una base de datos de SQL Server al último momento, debe realizar una copia del final del registro de transacciones. La copia del final del registro es la copia de seguridad de interés en el plan de recuperación de la base de datos.

No todos los escenarios de restauración requieren una copia del final del registro. No necesitas una copia del final del registro si el punto de recuperación está incluido en una copia de seguridad de registros anterior. No es necesaria una copia del final del registro si vas a mover o reemplazar (sobrescribir) la base de datos y no necesitas restaurarla a un momento posterior de la copia de seguridad más reciente.

Escenarios que requieren una copia del final del registro

Recomendamos realizar una copia del final del registro en los siguientes escenarios:

  • Si la base de datos está en línea y planea realizar una operación de restauración en la base de datos, comience con una copia del final del registro. Para evitar un error en una base de datos en línea, debes utilizar la opción WITH NORECOVERY de la instrucción BACKUP de Transact-SQL.

  • Si una base de datos está sin conexión y no puede iniciarse y necesita restaurar la base de datos, primero haga una copia del final del registro. Debido a que no pueden producirse otras transacciones en este momento, utiliza la opción WITH NO_TRUNCATE. NO_TRUNCATE es eficazmente igual que una copia de seguridad del registro de transacciones de solo copia. Usar WITH NORECOVERY es opcional, debido a que no pueden producirse otras transacciones en este momento.

  • Si se daña una base de datos, intente hacer una copia del final del registro con la opción WITH CONTINUE_AFTER_ERROR de la instrucción BACKUP.

    En una base de datos dañada, la copia del final del registro se puede completar sin errores solo si los archivos de registro no están dañados, si la base de datos tiene un estado que admite copias de seguridad de registros después del error y si la base de datos no contiene cambios registrados de forma masiva. Si no se puede crear una copia del final del registro, se pueden las transacciones confirmadas después de la última copia de seguridad de registros.

En la tabla siguiente se resumen las opciones NORECOVERY, NO_TRUNCATE y CONTINUE_AFTER_ERROR para BACKUP.

Opción BACKUP LOG Comentarios
NORECOVERY Usa NORECOVERY cada vez que desees continuar con una operación de restauración en la base de datos. NORECOVERY pone la base de datos en el estado de restauración. Este paso garantiza que la base de datos no cambie después de realizar la copia del final del registro. El registro se truncará a menos que también se especifique la opción NO_TRUNCATE o COPY_ONLY.

Importante: Evita usar NO_TRUNCATE, salvo cuando la base de datos esté dañada. Es posible que tengas que poner la base de datos en modo de usuario único para obtener acceso exclusivo antes de realizar la restauración con NORECOVERY. Después de la restauración, vuelva a establecer la base de datos en el modo multiusuario.
CONTINUE_AFTER_ERROR Utiliza CONTINUE_AFTER_ERROR solo si vas a crear una copia del final de una base de datos dañada.

Cuando realizas una copia de seguridad del final del registro de una base de datos dañada, es posible que parte de los metadatos que comúnmente se capturan en las copias de seguridad de registros no estén disponibles. Para obtener más información, vea la siguiente sección.

Copias del final del registro con metadatos de copia de seguridad incompletos

Las copias de seguridad de registros después del error capturan el final del registro aunque falten archivos en la base de datos, o la base de datos esté sin conexión o dañada. Sin embargo, esto puede provocar que se obtengan metadatos incompletos de los comandos de información de restauración y msdb. Sin embargo, solo los metadatos están incompletos. El registro capturado está completo y en condiciones de uso.

Si una copia del final del registro tiene metadatos incompletos, en la tabla backupset, se establece has_incomplete_metadata en 1. Asimismo, en la salida de RESTORE HEADERONLY, HasIncompleteMetadata se establece en 1.

Si los metadatos de la copia del final del registro están incompletos, a la tabla backupfilegroup le faltará la mayoría de la información sobre grupos de archivos en el momento de realizar la copia del final del registro. La mayoría de las columnas de la tabla backupfilegroup son NULL; las únicas columnas significativas son las siguientes:

  • backup_set_id
  • filegroup_id
  • type
  • type_desc
  • is_readonly

Tareas relacionadas

Para crear una copia del final del registro, vea Realizar una copia de seguridad del registro de transacciones cuando la base de datos está dañada (SQL Server).

Para restaurar una copia de seguridad del registro de transacciones, vea Restaurar una copia de seguridad de registros de transacciones (SQL Server).