Compartir vía


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

Se aplica a: SQL Server

Este artículo es pertinente para las bases de datos de SQL Server bajo el modelo de recuperación completa que contienen varios archivos o grupos de archivos.

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, todos los grupos de archivos 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

La sintaxis de un flujo de restauración en línea es la misma que la de un flujo de restauración sin conexió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, realiza una nueva copia de seguridad de registros para asegurarte 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.

    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 anterior). 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 DATABASE adb WITH RECOVERY;
    

    Ahora el archivo a1 está en línea.

Ejemplos adicionales