Compartir a través de


Ejemplo: restauración por etapas de la base de datos (modelo de recuperación completa)

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

En este ejemplo, la base de datos adb se restaura en un nuevo equipo después de un desastre. La base de datos está utilizando el modelo de recuperación completa, por lo que, antes de iniciar la restauración, debe crearse una copia del final del registro de la base de datos. Antes del desastre, todos los grupos de archivos están en línea. El grupo de archivos B es de solo lectura. Se deben restaurar todos los grupos de archivos secundarios, pero por orden de importancia: A (el de mayor importancia), C y, por último, B. En este ejemplo, hay cuatro copias de seguridad de registros, incluida la copia del final del registro.

Copia del final del registro

Antes de restaurar la base de datos, el administrador debe realizar una copia de seguridad de registros después del error. Puesto que la base de datos está dañada, es necesario usar la opción NO_TRUNCATE al realizar la copia del final del registro:

BACKUP LOG adb TO tailLogBackup WITH NORECOVERY, NO_TRUNCATE

La copia del final del registro es la última copia de seguridad que se aplica en las secuencias de restauración siguientes.

Secuencias de restauración

[!NOTA]

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 parcial del grupo de archivos principal y secundario A.

    RESTORE DATABASE adb FILEGROUP='Primary' FROM backup1 
       WITH PARTIAL, NORECOVERY
    RESTORE DATABASE adb FILEGROUP='A' FROM backup2 
       WITH NORECOVERY
    RESTORE LOG adb FROM backup3 WITH NORECOVERY
    RESTORE LOG adb FROM backup4 WITH NORECOVERY
    RESTORE LOG adb FROM backup5 WITH NORECOVERY
    RESTORE LOG adb FROM tailLogBackup WITH RECOVERY
    
  2. Restauración en línea del grupo de archivos C.

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

    Los mensajes de la última instrucción RESTORE LOG del paso 1 indican que la reversión de las transacciones en las que interviene el grupo de archivos C se ha diferido porque este grupo de archivos no está disponible. Las operaciones periódicas pueden continuar, pero estas transacciones mantienen los bloqueos y no se truncará el registro hasta que se pueda completar la reversión.

    En la segunda secuencia de restauración, el administrador de la base de datos restaura el grupo de archivos C:

    RESTORE DATABASE adb FILEGROUP='C' FROM backup2a WITH NORECOVERY
    RESTORE LOG adb FROM backup3 WITH NORECOVERY
    RESTORE LOG adb FROM backup4 WITH NORECOVERY
    RESTORE LOG adb FROM backup5 WITH NORECOVERY
    RESTORE LOG adb FROM tailLogBackup 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. Las transacciones diferidas se han resuelto y se trunca el registro.

  3. Restauración en línea del grupo de archivos B.

    En la tercera secuencia de restauración, el administrador de la base de datos restaura el grupo de archivos B. La copia de seguridad del grupo de archivos B se realizó después de cambiar el grupo a solo lectura, por lo que no es necesario ponerlo al día durante la recuperación.

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

    Todos los grupos de archivos están ahora en línea.

Otros ejemplos

Vea también

Referencia

BACKUP (Transact-SQL)

RESTORE (Transact-SQL)

Conceptos

Restauración en línea (SQL Server)

Aplicar copias de seguridad de registros de transacción (SQL Server)

Restauraciones por etapas (SQL Server)