Realizar restauraciones por etapas

 Este tema es relevante sólo para las bases de datos de SQL Server 2005 Enterprise Edition y versiones posteriores que incluyen varios archivos o grupos de archivos y, en el modelo simple, sólo para grupos de archivos de sólo lectura.

En SQL Server 2005 y versiones posteriores, las bases de datos que incluyen varios grupos de archivos se pueden restaurar y recuperar por etapas mediante un proceso denominado restauración por etapas. Este tipo de restauración implica una serie de secuencias de restauración, empezando por el grupo de archivos principal y, en algunos casos, uno o varios grupos de archivos secundarios. Una vez completada la secuencia de restauración, los archivos recuperados (si son válidos y coherentes con la base de datos) pueden ponerse en línea directamente.

La restauración por etapas funciona con todos los modelos de recuperación, aunque su flexibilidad es mayor para los modelos de recuperación completa o por medio de registros de operaciones masivas que para el modelo simple.

Nota

La restauración por etapas es más versátil que la restauración parcial de SQL Server 2000, ya que los grupos de archivos no restaurados se pueden restaurar en una ocasión posterior.

Las restauraciones por etapas comienzan con una secuencia de restauración inicial que se denomina secuencia de restauración parcial. Como mínimo, la secuencia de restauración parcial restaura y recupera el grupo de archivos principal y, con el modelo de recuperación simple, todos los grupos de archivos de lectura/escritura. Durante la secuencia de restauración por etapas, toda la base de datos debe ponerse en modo sin conexión. Después de este momento, la base de datos estará en línea y los grupos de archivos restaurados estarán disponibles. Sin embargo, los grupos de archivos que aún no se han restaurado permanecen sin conexión.

Independientemente del modelo de recuperación utilizado por la base de datos, la secuencia de restauración parcial se inicia con una instrucción RESTORE DATABASE que restaura una copia de seguridad completa y especifica la opción PARTIAL. La opción PARTIAL siempre inicia una nueva restauración por etapas; por lo tanto, se debe especificar PARTIAL únicamente una vez en la instrucción inicial de la secuencia de restauración parcial. Cuando la secuencia de restauración parcial finaliza y la base de datos está en línea, a los archivos restantes se les asigna el estado "pendiente de recuperación" porque su recuperación se ha pospuesto.

Posteriormente, una restauración por etapas incluye normalmente una o varias secuencias de restauración, que se denominan secuencias de restauración de grupos de archivos. Se puede retrasar la realización de una secuencia de restauración de grupos de archivos concreta el tiempo que desee. Estas secuencias restauran y recuperan uno o varios grupos de archivos sin conexión a un punto coherente con la base de datos. La planificación y el número de secuencias de restauración de grupos de archivos depende del objetivo de la recuperación, del número de grupos de archivos sin conexión que se desea restaurar y de cuántos de estos se restaurarán por secuencia de restauración de grupos de archivos.

Los requisitos concretos para realizar una recuperación por etapas dependen del modelo de recuperación de la base de datos. Para obtener información, vea " Recuperación por etapas con el modelo de recuperación simple" y "Recuperación por etapas con el modelo de recuperación completa", más adelante en este tema.

Escenarios de restauración por etapas

Todas las ediciones de SQL Server admiten restauraciones por etapas sin conexión. En SQL Server 2005 Enterprise Edition y versiones posteriores, una restauración por etapas puede realizarse en línea o sin conexión. Las implicaciones de las restauraciones por etapas en línea y sin conexión son las siguientes:

  • Escenario de restauración por etapas sin conexión

    En una restauración por etapas sin conexión, la base de datos está en línea después de la secuencia de restauración parcial. Los grupos de archivos que aún no se han restaurado permanecen sin conexión, pero pueden restaurarse a medida que sean necesarios después de desconectar la base de datos.

  • Escenario de restauración por etapas en línea

    En una restauración por etapas en línea, tras secuencia de restauración parcial, la base de datos está en línea y el grupo de archivos principal y los grupos de archivos secundarios recuperados están disponibles. Los grupos de archivos que todavía no se han restaurado permanecen sin conexión, pero se pueden restaurar cuando sea necesario mientras la base de datos se encuentre en línea.

    Las restauraciones por etapas en línea pueden incluir transacciones diferidas. Cuando sólo se restaura un subconjunto de grupos de archivos, puede que se difieran las transacciones de la base de datos que dependan de los grupos de archivos en línea. Esto es normal, porque toda la base de datos debe ser coherente. Para obtener más información, vea Transacciones diferidas.

Restricciones

Si una secuencia de restauración parcial excluye cualquier grupo de archivos FILESTREAM, no se admite la restauración a un momento dado. Puede forzarse 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.

Recuperación por etapas con el modelo de recuperación simple

Con el modelo de recuperación simple, la secuencia de restauración por etapas debe comenzar con una copia de seguridad completa o parcial de la base de datos. A continuación, si la copia de seguridad restaurada es una base diferencial, restaure la copia de seguridad diferencial más reciente.

Durante la primera secuencia de restauración parcial, si sólo se restaura un subconjunto de grupos de archivos de lectura/escritura, todos los grupos de archivos no restaurados quedan inactivos al recuperar la base de datos restaurada parcialmente. La exclusión de un grupo de archivos de lectura/escritura de una secuencia de restauración parcial sólo es apropiada en los siguientes casos:

  • Desea que los grupos de archivos no restaurados queden inactivos.

  • La secuencia de restauración alcanzará un punto de recuperación en el que cada grupo de archivos no restaurado ha pasado a ser de sólo lectura, se ha eliminada o ha quedado inactivo (durante una restauración anterior de la secuencia de restauración parcial).

  • La copia de seguridad completa se realizó mientras la base de datos utilizaba el modelo de recuperación simple, pero el punto de recuperación es de un momento cuando la base de datos utilizaba el modelo de recuperación completa. Para obtener información, vea "Realizar una recuperación por etapas de una base de datos cuyo modelo de recuperación ha cambiado de simple a completo", más adelante en este tema.

Requisitos de la recuperación por etapas con el modelo de recuperación simple

Con el modelo de recuperación simple, la fase inicial restaura y recupera el grupo de archivos principal y todos los grupos de archivos de lectura/escritura secundarios. Una vez terminada la fase inicial, los archivos recuperados (si son válidos y coherentes con la base de datos) pueden ponerse en línea directamente.

A partir de ese momento, se pueden restaurar los grupos de archivos de sólo lectura en una o varias fases adicionales.

La restauración por etapas está disponible para un grupo de archivos secundarios de sólo lectura únicamente si se cumple lo siguiente:

  • Era de sólo lectura cuando se hizo su copia de seguridad.

  • Ha permanecido como sólo lectura (y se mantiene la coherencia lógica con el grupo de archivos principal).

Para realizar una restauración por etapas, se deben seguir estas directrices:

  • Un conjunto de copias de seguridad completo para la restauración por etapas de una base de datos con el modelo de recuperación simple debe contener lo siguiente:

    • Una copia de seguridad de base de datos parcial o completa que contenga el grupo de archivos principal y todos los grupos de archivos que tenían acceso de lectura/escritura al hacer la copia de seguridad.

    • Una copia de seguridad de cada archivo de sólo lectura.

  • Para que la copia de seguridad de un archivo de sólo lectura sea coherente con el grupo de archivos principal, el grupo de archivos secundario debe haber sido de sólo lectura desde que se hizo la copia de seguridad hasta que se completó la copia de seguridad que incluye el grupo de archivos principal. Puede usar copias de seguridad diferenciales de archivos si se hicieron después de que el grupo de archivos pasara a ser de sólo lectura.

Fases de la restauración por etapas (modelo de recuperación simple)

El escenario de restauración por etapas implica las siguientes etapas:

  • Fase inicial (restauración y recuperación del grupo de archivos principal y de todos los grupos de archivos de lectura/escritura)

    La etapa inicial realiza una restauración parcial. La secuencia de restauración parcial restaura el grupo de archivos principal, todos los grupos de archivos secundarios de lectura/escritura y, opcionalmente, algunos grupos de archivos de sólo lectura. Durante la fase inicial, toda la base de datos debe pasar a modo sin conexión. Después de la etapa inicial, la base de datos está en línea y los grupos de archivos restaurados estarán disponibles. Sin embargo, los grupos de archivos de sólo lectura que aún no se han restaurado permanecen sin conexión.

    La primera instrucción RESTORE de la fase inicial debe realizar lo siguiente:

    • Usar una copia de seguridad parcial o completa de la base de datos que incluya el grupo de archivos principal y todos los grupos de archivos que eran de lectura/escritura al hacer la copia de seguridad. Es normal comenzar una secuencia de restauración parcial mediante la restauración de una copia de seguridad parcial.

    • Especificar la opción PARTIAL, que indica el inicio de una restauración por etapas.

    Nota

    La fase inicial de una restauración por etapas sustituye la restauración parcial de la base de datos utilizada en SQL Server 2000. En SQL Server 2005 y versiones posteriores, la opción PARTIAL realiza comprobaciones de seguridad que se omiten en la restauración parcial de la base de datos, lo que permite que la base de datos resultante sea apropiada para su uso como base de datos de producción.

    • Especificar la opción READ_WRITE_FILEGROUPS si la copia de seguridad es una copia de seguridad de base de datos completa.
  • Mientras la base de datos esté en línea, se pueden usar una o varias restauraciones de archivos en línea para restaurar y recuperar archivos de sólo lectura sin conexión que eran de sólo lectura cuando se realizó la copia de seguridad. La planificación de la restauración de archivos en línea depende de cuándo desee que los datos tengan conexión.

    La restauración de los datos a un archivo depende de lo siguiente:

    • Los archivos válidos de sólo lectura que son coherentes con la base de datos pueden ponerse en línea directamente si se recuperan sin restaurar ningún dato.

    • Los archivos dañados o incoherentes con la base de datos se deben restaurar antes de recuperarlos.

Ejemplos

Recuperación por etapas con el modelo de recuperación completa

Con el modelo de recuperación completa o el modelo de recuperación optimizado para cargas masivas de registros, se puede realizar una recuperación por etapas de cualquier base de datos que incluya varios grupos de archivos y se puede restaurar una base de datos a cualquier momento dado en el tiempo. Las secuencias de la restauración por etapas son las siguientes:

  • Secuencia de restauración parcial

    La secuencia de restauración parcial restaura el grupo de archivos principal y, opcionalmente, algunos de los grupos de archivos secundarios.

    La primera instrucción RESTORE DATABASE debe realizar lo siguiente:

    • Especificar la opción PARTIAL, que indica el inicio de una restauración por etapas.

    • Utilizar cualquier copia de seguridad completa que contenga el grupo de archivos principal. La práctica normal es comenzar una secuencia de restauración parcial mediante la restauración de una copia de seguridad parcial.

    • Para restaurar a un momento específico, se debe especificar este momento en la secuencia de restauración parcial. Las fases sucesivas de la secuencia de restauración deberán especificar el mismo momento.

  • Las secuencias de restauración de grupos de archivos ponen en línea los grupos de archivos adicionales en un punto coherente con la base de datos.

    En SQL Server 2005 Enterprise Edition y versiones posteriores, se puede restaurar y recuperar cualquier grupo de archivos secundario sin conexión mientras la base de datos permanece en línea. Si un determinado archivo de sólo lectura está dañado o no es coherente con la base de datos, no necesita restauración. Para obtener más información, vea Recuperar bases de datos sin restaurar los datos.

Aplicar copias de seguridad de registros

Si un grupo de archivos de sólo lectura ha sido de sólo lectura desde antes de la creación de la copia de seguridad de archivos, no es necesario aplicar las copias de seguridad de registros al grupo de archivos y éstas se omiten en la restauración de archivos. Si el grupo de archivos es de lectura/escritura, debe aplicarse una cadena ininterrumpida de copias de seguridad de registros a la última recuperación completa o diferencial para actualizar el grupo de archivos al archivo de registro actual.

Ejemplos

Realizar una recuperación por etapas de una base de datos cuyo modelo de recuperación ha cambiado de simple a completo

Puede realizar una recuperación por etapas de una base de datos cuyo modelo de recuperación haya cambiado de un modelo de recuperación simple a uno completo desde la creación de la copia de seguridad parcial, completa o de base de datos. Por ejemplo, supongamos que realiza los siguientes pasos para una base de datos:

  1. Crea una copia de seguridad parcial (copia_1) de una base de datos de modelo simple.

  2. Al cabo de un tiempo, cambia el modelo de recuperación a completo.

  3. Crea una copia de seguridad diferencial.

  4. Comienza a realizar copias de seguridad de registros.

A partir de este punto, la siguiente secuencia será válida:

  1. Una restauración parcial que omite algunos grupos de archivos secundarios.

  2. Una restauración diferencial seguida de otras restauraciones necesarias.

  3. Más adelante, una restauración de un grupo de archivos secundarios de lectura/escritura con WITH NORECOVERY de la copia de seguridad parcial copia_1.

  4. Una copia de seguridad diferencial se realiza después de otras copias de seguridad restauradas en la secuencia de restauración por etapas original para restaurar los datos hasta el punto de recuperación original.