Ejemplo: restauración por etapas exclusiva para algunos grupos de archivos (modelo de recuperación completa)

 Este tema sólo es relevante para las bases de datos de SQL Server que contengan varios archivos o grupos de archivos con el modelo de recuperación completa.

En una secuencia de restauración por etapas restaura y recupera una base de datos en fases en el nivel del grupo de archivos, empezando con los grupos de archivos principales y todos los secundarios de lectura/escritura.

En este ejemplo, una base de datos llamada adb, que utiliza el modelo de recuperación completa, contiene tres grupos de archivos. El grupo de archivos A es de lectura/escritura, mientras que los grupos de archivos B y C son de sólo lectura. Inicialmente, los tres están en línea.

Parece que el grupo de archivos principal y el B de la base de datos adb están dañados. El grupo de archivos principal es bastante más que pequeño y puede restaurarse con rapidez. El administrador de la base de datos decide restaurarlos utilizando una secuencia de restauración por etapas. En primer lugar se restauran el grupo de archivos principal y los registros de transacciones posteriores y luego se recupera la base de datos.

Los grupos de archivos intactos A y C incluyen información fundamental. Por lo tanto, se recuperarán a continuación para ponerlos en línea tan pronto como sea posible. Por último, se restaurará y recuperará el grupo de archivos secundario dañado, el B.

Secuencias de restauración:

  1. Cree una copia de seguridad de registros después del error de la base de datos adb. Este paso es esencial para actualizar los grupos de archivos A y C intactos respecto al punto de recuperación de la base de datos.

    BACKUP LOG adb TO tailLogBackup WITH NORECOVERY
    
  2. Restauración parcial del grupo de archivos principal.

    RESTORE DATABASE adb FILEGROUP='Primary' FROM backup 
    WITH PARTIAL, NORECOVERY
    RESTORE LOG adb FROM backup1 WITH NORECOVERY
    RESTORE LOG adb FROM backup2 WITH NORECOVERY
    RESTORE LOG adb FROM backup3 WITH NORECOVERY
    RESTORE LOG adb FROM tailLogBackup WITH RECOVERY
    

    En este momento, el grupo principal está en línea. La recuperación de los archivos de los grupos A, B y C está pendiente, por lo que estos grupos de archivo están sin conexión.

  3. Restauración en línea de los grupos de archivos A y C.

    Dado que estos datos no están dañados, no es preciso restaurar los grupos de archivos a partir de la copia de seguridad. Sin embargo, es necesario recuperarlos para volver a ponerlos en línea.

    El administrador de la base de datos recupera A y C inmediatamente.

    RESTORE DATABASE adb FILEGROUP='A', FILEGROUP='C' WITH RECOVERY
    

    En este momento, los grupos de archivos principal, A y C están en línea. Los archivos del grupo B permanecen pendientes de recuperación, con el grupo de archivos sin conexión.

  4. Restauración con conexión del grupo de archivos B.

    Los archivos del grupo de archivos B se restauran en cualquier momento a partir de este momento.

    Nota

    La copia de seguridad del grupo de archivos B se realizó después de cambiar el grupo a sólo lectura, por lo que no es necesario poner al día los archivos.

    RESTORE DATABASE adb FILEGROUP='B' FROM backup WITH RECOVERY
    

    Ahora todos los grupos de archivos están en línea.