Copias del final del registro

 Este tema solamente es relevante para las bases de datos que utilizan los modelos de recuperación optimizado para cargas masivas de registros.

En la mayoría de los casos, los modelos de recuperación optimizado para cargas masivas de registros SQL Server 2005 y versiones posteriores requieren que se realice una copia de seguridad del final del registro después del error para capturar las entradas del registro de las que todavía no se ha realizado una copia de seguridad. Las copias de seguridad de registros que se realizan después del error, antes de una operación de restauración se denominan copia del final del registro.

SQL Server 2005 y versiones posteriores, por lo general, requieren que se realice una copia de seguridad del final del registro después del error antes de comenzar a restaurar una base de datos. La copia del final del registro evita la pérdida de trabajo y mantiene intacta la cadena de registros. Cuando se recupera una base de datos al momento en que se produjo el error, la copia del final del registro es la última copia de seguridad de interés del plan de recuperación. Si no puede realizar una copia de seguridad de registros después del error, puede recuperar una base de datos solo al final de la última copia de seguridad que se creó antes del error.

No todos los escenarios de restauración requieren una copia del final del registro. No tiene que tener una copia del final del registro si el punto de recuperación está incluido en una copia de seguridad del registro anterior, o si va a mover o reemplazar (sobrescribir) la base de datos y no necesita restaurarla a un momento específico posterior a la copia de seguridad más reciente. También, si los archivos de registro están dañados y no se puede crear una copia del final del registro, debe restaurar la base de datos sin utilizar una copia de seguridad de registros después del error. Las transacciones confirmadas después de la última copia de seguridad de registros se perderán. Para obtener más información, vea "Restaurar sin utilizar una copia del final del registro" más adelante en este tema.

Realizar una copia de seguridad del final del registro

Al igual que cualquier copia de seguridad de registros, una copia del final del registro se realiza con la instrucción BACKUP LOG. Recomendamos realizar una copia del final del registro en las siguientes situaciones:

  • Si la base de datos está con conexión y planea realizar una operación de restauración en la base de datos, antes de iniciar una operación de restauración, realice una copia del final del registro con WITH NORECOVERY:

    BACKUP LOG nombreDeBaseDeDatos TO <dispositivoDeCopiaDeSeguridad> WITH NORECOVERY

    Nota

    Para evitar un error, la opción NORECOVERY es necesaria.

  • Si la base de datos está sin conexión y no se inicia.

    Intente hacer una copia del final del registro. Debido a que no pueden producirse otras transacciones en este momento, el uso de WITH NORECOVERY es opcional. Si la base de datos está dañada, utilice WITH CONTINUE_AFTER_ERROR, de la forma siguiente.

    BACKUP LOG nombreDeBaseDeDatos TO <dispositivoDeCopiaDeSeguridad> [WITH { CONTINUE_AFTER_ERROR | NO_TRUNCATE }

    Si la base de datos está dañada, por ejemplo, si no se inicia, una copia del final del registro se completa 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.

Estas opciones se resumen en la siguiente tabla.

Opción BACKUP LOG

Comentarios

NORECOVERY

Utilice NORECOVERY cada vez que desee 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. Esto 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.

Nota importanteImportante
Recomendamos evitar el uso de NO_TRUNCATE, excepto cuando la base de datos esté dañada.

CONTINUE_AFTER_ERROR

Utilice CONTINUE_AFTER_ERROR solo si va a crear una copia del final de una base de datos dañada.

NotaNota
Al realizar 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 "Copias del final del registro con metadatos de copia de seguridad incompletos" más adelante en este tema.

Para crear una copia de seguridad del registro de transacciones cuando la base de datos está dañada

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 de seguridad de registros después del error. 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

Restaurar sin utilizar una copia del final del registro

Los escenarios de restauración en los que no es necesaria una copia del final del registro incluyen los siguientes:

Historial de cambios

Contenido actualizado

Se ha actualizado la sección "Realizar una copia de seguridad del final del registro" para corregir la información acerca de cómo realizar una copia de seguridad del final del registro si la base de datos está sin conexión y no se inicia.