Realizar restauraciones de archivos (modelo de recuperación completa)

Este tema sólo 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. Todas las ediciones de SQL Server admiten la restauración de archivos cuando la base de datos está sin conexión (restauraciones de páginas sin conexión). SQL Server 2005 Standard, SQL Server 2005 Express Edition, SQL Server 2005 Workgroup y las versiones posteriores solo admiten la restauración sin conexión, y restaurar un archivo al grupo de archivos principal requiere siempre que la base de datos esté sin conexión. SQL Server 2005 Enterprise Edition y las versiones posteriores utilizan la restauración sin conexión si la base de datos ya está sin conexión.

En SQL Server 2005 Enterprise Edition y versiones posteriores, si la base de datos está en línea durante una restauración de archivos, permanecerá en línea. La restauración y recuperación de un archivo mientras la base de datos está en línea se denomina restauración de archivos con conexión.

Estos 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 desconectada 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.

  • Restauración de archivos en línea

    En SQL Server 2005 Enterprise Edition y versiones posteriores, las restauraciones de archivos se realizan automáticamente en línea cuando la base de datos está en línea. Sin embargo, cualquier grupo de archivos en el que se restaura un archivo estará sin conexión. Una vez recuperados todos los archivos de un grupo de archivos sin conexión, éste se conecta automáticamente. Para obtener más información acerca de restauraciones en línea, vea Realizar restauraciones en línea.

    Nota

    Sólo se pueden consultar o actualizar los grupos de archivos en línea. Si se intenta tener acceso a un grupo de archivos sin conexión, incluidos los que contienen un archivo que se está restaurando o recuperando, se producirá un error.

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 sólo 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 sólo lectura, será la última copia de seguridad que se restaurará. La puesta al día se detiene en el punto de destino.

Restauración de archivos o grupos de archivos

Para restaurar uno o varios archivos dañados a partir de copias de seguridad de archivos y de copias de seguridad diferenciales de archivos

  1. Cree una copia del final del registro después del error del registro de transacciones activo.

    Si no puede hacerlo porque el registro está dañado, debe restaurar toda la base de datos. Para obtener información acerca de cómo realizar copias de seguridad de un registro de transacciones, vea Crear copias de seguridad de registros de transacciones.

    Nota importanteImportante

    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 sólo 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. Recupere 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 acerca de la recuperación a un momento dado, vea Restaurar bases de datos a un punto de una copia de seguridad.

Para restaurar archivos y grupos de archivos

Temas avanzados

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.

El código Transact-SQL siguiente muestra las opciones básicas de RESTORE en una secuencia de restauración para el escenario de restauración de archivos. La sintaxis y los detalles no relevantes para este propósito se omiten.

El ejemplo muestra una restauración sin conexión de dos archivos secundarios, A y B, con 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 RECOVERY. El ejemplo comienza desconectando el archivo para una restauración de archivos sin conexión.

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

Vea también

Referencia

Conceptos

Otros recursos