Restauraciones de archivos (modelo de recuperación completa)

Se aplica a:SQL Server

Este tema solo es pertinente para las bases de datos que contienen varios archivos o grupos de archivos con el modelo de recuperación completa o de carga masiva.

El objetivo de una restauración de archivos consiste en restaurar uno o varios archivos dañados sin necesidad de restaurar la totalidad de la base de datos. Un escenario de restauración de archivos consiste en una única secuencia de restauración que copia, pone al día y recupera los datos apropiados.

Si el grupo de archivos que se restaura es de lectura/escritura, es necesario aplicar una cadena ininterrumpida de copias de seguridad de registros después de que se restaure la última copia de seguridad de datos o diferencial. De esta forma, el grupo de archivos se actualiza a los registros existentes en los registros activos actuales del archivo de registro. Normalmente, el punto de recuperación está cerca del final del registro, aunque no necesariamente.

Si el grupo de archivos que se restaura es de solo lectura, por lo general, la aplicación de las copias de seguridad de registros no es necesaria y se omitirá. Si se hizo la copia de seguridad después de que el archivo pasará a ser de solo lectura, será la última copia de seguridad que se restaurará. La puesta al día se detiene en el punto de destino.

Los escenarios de restauración de archivos son los siguientes:

  • Restauración de archivos sin conexión

    En una restauración de archivos sin conexión, la base de datos permanece sin conexión mientras se restauran los archivos o grupos de archivos dañados. Al final de la secuencia de restauración, la base de datos pasará a estar en línea.

    Todas las ediciones de SQL Server admiten restauraciones de archivos sin conexión.

  • Restauración de archivos en línea

    En restauración de archivos en línea, si la base de datos está en línea durante una restauración de archivos, permanecerá en línea durante la restauración de archivos. Sin embargo, cada grupo de archivos en el que se restaura un archivo está sin conexión durante la operación de restauración. Una vez recuperados todos los archivos de un grupo de archivos sin conexión, este se conecta automáticamente.

    Para más información sobre la compatibilidad con la restauración de páginas y archivos en línea, consulta Características compatibles con las ediciones de SQL Server 2022. Para más información sobre la restauración con conexión, vea Restauración con conexión (SQL Server).

    Sugerencia

    Si quiere que la base de datos esté sin conexión durante una restauración de archivos, deje sin conexión la base de datos de que empiece a restaurar la secuencia realizando la acción siguiente ALTER DATABASE : ALTER DATABASE nombre_base_de_datos SET OFFLINE.

Restaurar archivos dañados a partir de copias de seguridad de archivo

  1. Antes de restaurar uno o varios archivos dañados, intente crear una copia del final del registro.

    Si se ha dañado el registro, no se puede crear una copia del final del registro y se debe restaurar toda la base de datos.

    Para obtener más información sobre cómo hacer una copia de seguridad de un registro de transacciones, consulte Copias de seguridad del registro de transacciones (SQL Server).

    Importante

    En restauraciones de archivos sin conexión, siempre debe realizar una copia del final de registros después del error antes de la restauración de archivos. En restauraciones de archivos en línea, siempre debe realizar la copia de seguridad de registros después de la restauración de archivos. Esta copia de seguridad de registros es necesaria para que el archivo pueda recuperarse a un estado coherente con el resto de la base de datos.

  2. Restaure cada archivo dañado a partir de la copia de seguridad más reciente de ese archivo.

  3. Restaure la copia de seguridad diferencial de archivos más reciente, si existe, para cada archivo restaurado.

  4. Restaure las copias de seguridad del registro de transacciones en orden, comenzando con la copia de seguridad que abarca el más antiguo de los archivos restaurados y finalizando con la copia del final del registro después del error creada en el paso 1.

    Debe hacer que la base de datos sea coherente; para ello, restaure las copias de seguridad del registro de transacciones creadas después de las copias de seguridad de archivos. Las copias de seguridad del registro de transacciones se pueden poner al día rápidamente, porque solo se aplican los cambios correspondientes a los archivos restaurados. La restauración de archivos individuales puede ser mejor que la restauración de toda la base de datos, dado que los archivos dañados no se copian y, posteriormente, ponen al día. Sin embargo, aún debe leerse toda la cadena de copias de seguridad de registros.

  5. Recuperar la base de datos.

Nota:

Las copias de seguridad de archivos se pueden utilizar para restaurar la base de datos a un momento anterior. Para ello, debe restaurar un conjunto completo de copias de seguridad de archivos y, a continuación, restaurar las copias de seguridad del registro de transacciones en orden hasta llegar al momento específico establecido, que es después del final de la copia de seguridad de archivos restaurada más reciente. Para obtener más información sobre la recuperación a un momento dado, consulte Restaurar una base de datos de SQL Server a un momento dado (modelo de recuperación completa).

Secuencia de restauración de Transact-SQL para la restauración de archivos sin conexión (modelo de recuperación completa)

Un escenario de restauración de archivos consiste en una única secuencia de restauración que copia, pone al día y recupera los datos apropiados.

En esta sección se muestran las opciones esenciales de RESTORE para una secuencia de restauración de archivos. La sintaxis y los detalles no pertinentes para este propósito se omiten.

La secuencia de restauración de ejemplo siguiente muestra una restauración sin conexión de dos archivos secundarios, A y B, mediante WITH NORECOVERY. A continuación, se aplican dos copias de seguridad de registros con NORECOVERY y, después, la copia del final del registro después del error, recuperada con WITH RECOVERY.

Nota:

El siguiente ejemplo de secuencia de restauración se inicia tomando el archivo sin conexión y después crea una copia del final del registro.

--Take the file offline.  
ALTER DATABASE database_name MODIFY FILE SET OFFLINE;  
-- Back up the currently active transaction log.  
BACKUP LOG database_name  
   TO <tail_log_backup>  
   WITH NORECOVERY;  
GO   
-- Restore the files.  
RESTORE DATABASE database_name FILE=name   
   FROM <file_backup_of_file_A>   
   WITH NORECOVERY;  
RESTORE DATABASE database_name FILE=<name> ......  
   FROM <file_backup_of_file_B>   
   WITH NORECOVERY;  
-- Restore the log backups.  
RESTORE LOG database_name FROM <log_backup>   
   WITH NORECOVERY;  
RESTORE LOG database_name FROM <log_backup>   
   WITH NORECOVERY;  
RESTORE LOG database_name FROM <tail_log_backup>   
   WITH RECOVERY;  

Ejemplos

Related Tasks

Para restaurar archivos y grupos de archivos

Consulte también

Copias de seguridad y restauración: interoperabilidad y coexistencia (SQL Server)
Copias de seguridad diferenciales (SQL Server)
Copias de seguridad de archivos completas (SQL Server)
Backup Overview (SQL Server)
Información general sobre restauración y recuperación (SQL Server)
RESTORE (Transact-SQL)
Restauraciones de base de datos completas (modelo de recuperación simple)
Restauraciones por etapas (SQL Server)