Ejemplo: restauración en línea de un archivo de lectura/escritura (modelo de recuperación completa)

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

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 solo lectura. Inicialmente, los tres están en línea.

El archivo a1 del grupo de archivos A está dañado y el administrador de la base de datos decide restaurarlo con la base de datos en línea.

Nota

Con el modelo de recuperación simple no se puede realizar una restauración en línea de datos de lectura/escritura.

Secuencias de restauración

  1. Restauración en línea del archivo a1.

    RESTORE DATABASE adb FILE='a1' FROM backup 
    WITH NORECOVERY;
    

    En este momento, el archivo a1 se encuentra en el estado RESTORING, mientras que el grupo de archivos A está sin conexión.

  2. Tras restaurar el archivo, el administrador de la base de datos realiza una nueva copia de seguridad de registros para asegurarse de capturar el momento en el que el archivo se quedó sin conexión.

    BACKUP LOG adb TO log_backup3; 
    
  3. Restauración en línea de las copias de seguridad de registros.

    El administrador restaura todas las copias de seguridad de registros tomadas desde la copia de seguridad de archivos restaurada, finalizando con la última copia de seguridad de registros (log_backup3, tomada en el paso 2). Tras restaurar la última copia de seguridad, la base de datos se recupera.

    RESTORE LOG adb FROM log_backup1 WITH NORECOVERY;
    RESTORE LOG adb FROM log_backup2 WITH NORECOVERY;
    RESTORE LOG adb FROM log_backup3 WITH NORECOVERY;
    RESTORE LOG adb WITH RECOVERY;
    

    Ahora el archivo a1 está en línea.