Copias del final del registro (SQL Server)Tail-Log Backups (SQL Server)

SE APLICA A: síSQL Server noAzure SQL Database noAzure SQL Data Warehouse noAlmacenamiento de datos paralelos APPLIES TO: yesSQL Server noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

Este tema solamente es pertinente para copias de seguridad y restauración de las bases de datos de SQL ServerSQL Server que usan el modelo de recuperación optimizado para cargas masivas de registros o el modelo de recuperación completa.This topic is relevant only for backup and restore of SQL ServerSQL Server databases that are using the full or bulk-logged recovery models.

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.A tail-log backup captures any log records that have not yet been backed up (the tail of the log) to prevent work loss and to keep the log chain intact. Para poder recuperar una base de datos de SQL ServerSQL Server al último momento, debe realizar una copia del final del registro de transacciones.Before you can recover a SQL ServerSQL Server database to its latest point in time, you must back up the tail of its transaction log. La copia del final del registro será la copia de seguridad de interés en el plan de recuperación de la base de datos.The tail-log backup will be the last backup of interest in the recovery plan for the database.

NOTA: No todos los escenarios de restauración requieren una copia del final del registro.NOTE: Not all restore scenarios require a tail-log backup. No necesita una copia del final del registro si el punto de recuperación está incluido en una copia de seguridad de registros anterior.You do not need a tail-log backup if the recovery point is contained in an earlier log backup. Además, no es necesaria una copia del final del registro si va a mover o reemplazar (sobrescribir) la base de datos y no necesita restaurarla a un momento posterior de la copia de seguridad más reciente.Also, a tail-log backup is unnecessary if you are moving or replacing (overwriting) a database and do not need to restore it to a point of time after its most recent backup.

Escenarios que requieren una copia del final del registroScenarios That Require a Tail-Log Backup

Recomendamos realizar una copia del final del registro en los siguientes escenarios:We recommend that you take a tail-log backup in the following scenarios:

  • 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.If the database is online and you plan to perform a restore operation on the database, begin by backing up the tail of the log. Para evitar un error para una base de datos en línea, debe usar la opción ... WITH NORECOVERY de la instrucción BACKUPTransact-SQLTransact-SQL.To avoid an error for an online database, you must use the ... WITH NORECOVERY option of the BACKUP Transact-SQLTransact-SQL statement.

  • 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.If a database is offline and fails to start and you need to restore the database, first back up the tail of the log. Debido a que no pueden producirse otras transacciones en este momento, el uso de WITH NORECOVERY es opcional.Because no transactions can occur at this time, using the WITH NORECOVERY is optional.

  • 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.If a database is damaged, try to take a tail-log backup by using the WITH CONTINUE_AFTER_ERROR option of the BACKUP statement.

    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.On a damaged database backing up the tail of the log can succeed only if the log files are undamaged, the database is in a state that supports tail-log backups, and the database does not contain any bulk-logged changes. 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.If a tail-log backup cannot be created, any transactions committed after the latest log backup are lost.

En la tabla siguiente se resumen las opciones BACKUP NORECOVERY y CONTINUE_AFTER_ERROR.The following table summarizes the BACKUP NORECOVERY and CONTINUE_AFTER_ERROR options.

Opción BACKUP LOGBACKUP LOG option ComentariosComments
NORECOVERYNORECOVERY Use NORECOVERY cada vez que desee continuar con una operación de restauración en la base de datos.Use NORECOVERY whenever you intend to continue with a restore operation on the database. NORECOVERY pone la base de datos en el estado de restauración.NORECOVERY takes the database into the restoring state. Esto garantiza que la base de datos no cambie después de realizar la copia del final del registro.This guarantees that the database does not change after the tail-log backup. El registro se truncará a menos que también se especifique la opción NO_TRUNCATE o COPY_ONLY.The log will be truncated unless the NO_TRUNCATE option or COPY_ONLY option is also specified.

Importante: Evite usar NO_TRUNCATE, salvo cuando la base de datos esté dañada.Important: Avoid using NO_TRUNCATE, except when the database is damaged.
CONTINUE_AFTER_ERRORCONTINUE_AFTER_ERROR Utilice CONTINUE_AFTER_ERROR solo si va a crear una copia del final de una base de datos dañada.Use CONTINUE_AFTER_ERROR only if you are backing up the tail of a damaged database.

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.When you use back up the tail of the log on a damaged database, some of the metadata ordinarily captured in log backups might be unavailable. Para más información, consulte Copias del final del registro con metadatos de copia de seguridad incompletosque aparece en este tema.For more information, see Tail-Log Backups That Have Incomplete Backup Metadata, in this topic.

Copias del final del registro con metadatos de copia de seguridad incompletosTail-Log backups that have incomplete backup metadata

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.Tail log backups capture the tail of the log even if the database is offline, damaged, or missing data files. Sin embargo, esto puede provocar que se obtengan metadatos incompletos de los comandos de información de restauración y msdb.This might cause incomplete metadata from the restore information commands and msdb. Sin embargo, solo los metadatos están incompletos. El registro capturado está completo y en condiciones de uso.However, only the metadata is incomplete; the captured log is complete and usable.

Si una copia del final del registro tiene metadatos incompletos, en la tabla backupset se establece has_incomplete_metadata en 1.If a tail-log backup has incomplete metadata, in the backupset table, has_incomplete_metadata is set to 1. Asimismo, en la salida de RESTORE HEADERONLY, HasIncompleteMetadata se establece en 1.Also, in the output of RESTORE HEADERONLY, HasIncompleteMetadata is set to 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.If the metadata in a tail-log backup is incomplete, the backupfilegroup table will be missing most of the information about filegroups at the time of the tail-log backup. La mayoría de las columnas de la tabla backupfilegroup son NULL; las únicas columnas significativas son las siguientes:Most of the backupfilegroup table columns are NULL; the only meaningful columns are as follows:

  • backup_set_idbackup_set_id
  • filegroup_idfilegroup_id
  • tipotype
  • type_desctype_desc
  • is_readonlyis_readonly

Tareas relacionadasRelated Tasks

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).To create a tail-log backup, see Back Up the Transaction Log When the Database Is Damaged (SQL Server).

Para restaurar una copia de seguridad del registro de transacciones, vea Restaurar una copia de seguridad de registros de transacciones (SQL Server).To restore a transaction log backup, see Restore a Transaction Log Backup (SQL Server).

Consulte tambiénSee Also

BACKUP (Transact-SQL) BACKUP (Transact-SQL)
RESTORE (Transact-SQL) RESTORE (Transact-SQL)
Realizar copias de seguridad y restaurar bases de datos de SQL Server Back Up and Restore of SQL Server Databases
Copias de seguridad de solo copia (SQL Server) Copy-Only Backups (SQL Server)
Copias de seguridad del registro de transacciones (SQL Server) Transaction Log Backups (SQL Server)
Aplicar copias de seguridad del registro de transacciones (SQL Server) Apply Transaction Log Backups (SQL Server)
Guía de arquitectura y administración de registros de transacciones de SQL ServerSQL Server Transaction Log Architecture and Management Guide