Compartir a través de


Restauraciones de archivos (modelo de recuperación completa)

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

En una restauración de archivos, el objetivo es restaurar uno o varios archivos dañados sin restaurar toda 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 está restaurando es de lectura/escritura, se debe aplicar una cadena de copias de seguridad de registros sin interrupción después de restaurar la última copia de seguridad de datos o la copia de seguridad diferencial. Esto reenvía el grupo de archivos a los registros de los registros activos actuales en el archivo de registro. El punto de recuperación suele estar cerca del final del registro, pero no necesariamente.

Si el grupo de archivos que se está restaurando es de solo lectura, normalmente la aplicación de copias de seguridad de registros no es necesaria y se omite. Si la copia de seguridad se realizó después de que el archivo se convirtiera en de solo lectura, es la última copia de seguridad que se va a restaurar. El avance 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 está 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 está en línea.

    Todas las ediciones de SQL Server 2014 admiten la restauración de archivos sin conexión.

  • Restauración de archivos en línea

    En una restauración de archivos en línea, si la base de datos está en línea en tiempo de restauración, permanece en línea durante la restauración de archivos. Sin embargo, cada grupo de archivos en el que se está restaurando 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, el grupo de archivos se pone automáticamente en línea.

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

    Sugerencia

    Si desea que la base de datos esté sin conexión para una restauración de archivos, desconecte la base de datos antes de iniciar la secuencia de restauración ejecutando la siguiente instrucción ALTER DATABASE : ALTER DATABASE database_name SET OFFLINE.

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

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

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

    Para obtener información sobre cómo realizar una copia de seguridad de un registro de transacciones, vea Copias de seguridad del registro de transacciones (SQL Server).

    Importante

    Para una restauración de archivos sin conexión, siempre debe realizar una copia de seguridad del tail-log antes de la restauración de archivos. Para una restauración de archivos en línea, siempre debe realizar la copia de seguridad del registro después de la restauración de archivos. Esta copia de seguridad de registros es necesaria para permitir que el archivo se recupere en un estado coherente con el resto de la base de datos.

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

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

  4. Restaure las copias de seguridad del registro de transacciones en secuencia, empezando por la copia de seguridad que cubre la más antigua de los archivos restaurados y finalizando con la copia de seguridad del final del registro creada en el paso 1.

    Debe restaurar las copias de seguridad del registro de transacciones que se crearon después de las copias de seguridad de archivos para llevar la base de datos a un estado coherente. Las copias de seguridad del registro de transacciones se pueden reenviar rápidamente, ya que solo se aplican los cambios que se aplican a los archivos restaurados. Restaurar archivos individuales puede ser mejor que restaurar toda la base de datos, ya que los archivos no dañados no se copian y, a continuación, se revierte. Sin embargo, toda la cadena de copias de seguridad de registros todavía tiene que leerse.

  5. Recuperar la base de datos.

Nota:

Las copias de seguridad de archivos se pueden usar para restaurar la base de datos a un momento dado anterior. Para ello, debe restaurar un conjunto completo de copias de seguridad de archivos y, a continuación, restaurar copias de seguridad del registro de transacciones en secuencia para llegar a un punto de destino que sea posterior al 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, vea Restaurar una base de datos de SQL Server a un momento dado (modelo de recuperación completa).

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

Un escenario de restauración de archivos consta de una sola secuencia de restauración que copia, reenvía y recupera los datos adecuados.

En esta sección se muestran las opciones de RESTORE esenciales para una secuencia de restauración de archivos. Se omite la sintaxis y los detalles que no son relevantes para este propósito.

La siguiente secuencia de restauración de ejemplo muestra una restauración sin conexión de dos archivos A secundarios y B, mediante WITH NORECOVERY. A continuación, se aplican dos copias de seguridad de registros con NORECOVERY, seguidas de la copia de seguridad del tail-log, que se restaura mediante WITH RECOVERY.

Nota:

La siguiente secuencia de restauración de ejemplo comienza poniendo el archivo fuera de línea y luego crea una copia de seguridad del registro de cola.

--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

Tareas relacionadas

Para restaurar archivos y grupos de archivos

Véase también

Copia de seguridad y restauración: interoperabilidad y coexistencia (SQL Server)
Copias de seguridad diferenciales (SQL Server)
Copias de seguridad de archivos completas (SQL Server)
Información general de copia de seguridad (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)