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 de seguridad de registros después del error de la base de datos. Antes del desastre, todos los grupos de archivos están conectados. El grupo de archivos B
es de sólo 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 de seguridad de registros después del error.
Copia de seguridad de registros después del error
Antes de restaurar la base de datos, el administrador debe realizar una copia de seguridad de registros después del error. Dado que la base de datos está dañada, esta copia de seguridad debe crearse con la opción NO_TRUNCATE:
BACKUP LOG adb TO tailLogBackup WITH NORECOVERY, NO_TRUNCATE
La copia de seguridad de registros después del error es la última copia de seguridad que se aplica en las secuencias de restauración siguientes.
Secuencias de restauración
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
Restauración con conexión del grupo de archivos
C
.
En este momento, el grupo de archivos principal y el secundarioA
están conectados. Todos los archivos de los grupos de archivosB
yC
están pendientes de recuperación y sin conexión.
Los mensajes de la última instrucciónRESTORE LOG
del paso 1 indican que la reversión de las transacciones en las que interviene el grupo de archivosC
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 archivosC
: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
yC
están conectados. Los archivos del grupoB
permanecen pendientes de recuperación, con el grupo de archivos sin conexión. Las transacciones diferidas se han resuelto y se trunca el registro.Restauración con conexión del grupo de archivos
B
.
En la tercera secuencia de restauración, el administrador de la base de datos restaura el grupo de archivosB
. La copia de seguridad del grupo de archivosB
se realizó después de cambiar el grupo a sólo lectura, por lo que no es necesario ponerlo al día durante la recuperación.RESTORE DATABASE adb FILEGROUP='B' FROM backup2b WITH RECOVERY
Ahora todos los grupos de archivos tienen conexión.
Vea también
Conceptos
Ejemplo: restauración por etapas de base de datos (modelo de recuperación simple)
Aplicar copias de seguridad del registro de transacciones
Realizar restauraciones por etapas
Otros recursos
BACKUP (Transact-SQL)
Ejemplos de secuencias de restauración para varios escenarios de restauración
RESTORE (Transact-SQL)