Restaurar bases de datos a un punto de una copia de seguridad

Este tema sólo es relevante para las bases de datos de SQL Server que utilizan los modelos de recuperación completa o de recuperación optimizado para cargas masivas de registros.

Puede que le interese restaurar y recuperar una base de datos a un momento dado, una marca o un número de secuencia de registro (LSN) anteriores al momento de un error. Por ejemplo, si una transacción ha modificado datos de forma incorrecta, puede ser conveniente restaurar la base de datos hasta un punto de recuperación justo anterior a la entrada de datos incorrecta. Una restauración que especifica el punto de recuperación para la base de datos se denomina restauración a un momento dado.

La ilustración siguiente muestra una restauración a un punto de recuperación en mitad de un registro de transacciones que se capturó en el momento t9. Se descartarán los cambios en el resto de la copia de seguridad y en las copias de seguridad de registros subsiguientes que se capturaron en el momento t10.

Restaurar hasta la mitad de una copia de seguridad de registros

El punto de recuperación de destino se especifica mediante una de las siguientes posibilidades:

  • Un punto específico en un registro de transacciones.

  • Una marca con nombre que se ha insertado en una entrada del registro de transacciones.

  • Un número de secuencia de registro (LSN).

[!NOTA]

La recuperación a un LSN es una característica especializada dirigida a los proveedores de herramientas y no es probable que tenga una utilidad general.

Un momento o transacción especificados siempre se restauran a partir de una copia de seguridad de registros, de modo que el punto de recuperación de destino debe estar contenido en una copia de seguridad del registro de transacciones. Para restaurar una base de datos a un punto concreto en el tiempo o en una transacción, especifique el punto de recuperación de destino en una cláusula STOPAT, STOPBEFOREMARK o STOPATMARK. En cada instrucción RESTORE LOG de la secuencia de restauración, debe especificar el momento o la transacción de destino en una cláusula STOPAT, STOPBEFOREMARK o STOPATMARK idéntica. Al aplicar la copia de seguridad del registro que contiene el punto de recuperación, sólo puede recuperar las transacciones que vienen antes de ese punto.

Como requisito previo para realizar una restauración a un momento dado, primero debe restaurar una copia de seguridad total de la base de datos cuyo final sea anterior al punto de recuperación de destino. Para ayudarle a identificar qué copia de seguridad de la base de datos restaurar, si lo desea puede especificar la cláusula STOPAT, STOPBEFOREMARK o STOPATMARK en una instrucción RESTORE DATABASE para generar un error si una copia de seguridad de los datos es demasiado reciente para el momento de destino especificado. Pero la copia de seguridad completa de los datos se restaura siempre, aunque contenga el momento de destino.

[!NOTA]

La copia de seguridad de registros debe estar en la misma ruta de recuperación que la copia de seguridad completa o parcial de la base de datos que se restaura en el momento inicial de la secuencia de restauración a un momento dado.

Al finalizar la recuperación, el momento de la base de datos se determina mediante el punto de recuperación en el que se recuperó el archivo principal. Las restauraciones posteriores, en su caso, deben tener puntos de recuperación que sean coherentes con la base de datos en ese momento.

Si una secuencia de restauración parcial excluye cualquier grupo de archivos FILESTREAM, no se admite la restauración a un momento dado. Puede forzar la continuación de la secuencia de restauración. Sin embargo, no se podrán restaurar los grupos de archivos FILESTREAM omitidos en la instrucción RESTORE. Para forzar una restauración a un momento específico, especifique la opción CONTINUE_AFTER_ERROR junto con la opción STOPAT, STOPATMARK o STOPBEFOREMARK, que debe especificar también en las instrucciones RESTORE LOG siguientes. Si se especifica CONTINUE_AFTER_ERROR, la secuencia de restauración parcial será correcta y el grupo de archivos FILESTREAM no será recuperable.

[!NOTA]

En el modelo de recuperación optimizado para cargas masivas de registros, si la copia de seguridad de registros contiene cambios registrados de forma masiva, no es posible la recuperación a un momento dado de la copia de seguridad. La base de datos debe recuperarse al final de una copia de seguridad del registro de transacciones.

En esta sección