Realizar restauraciones de páginas

Actualizado: 17 de julio de 2006

Icono que muestra un disco de base de datos azul Este tema sólo es relevante para las bases de datos de SQL Server que utilizan los modelos de recuperación completa o por medio de registros de operaciones masivas. La restauración de páginas sólo se admite para grupos de archivos de lectura y escritura.

El objetivo de una restauración de páginas es restaurar una o varias páginas dañadas sin restaurar la base de datos completa. Normalmente, las páginas candidatas para la restauración se han marcado como "sospechosas" debido a un error al tener acceso a la página. Las páginas sospechosas se identifican en la tabla suspect_pages de la base de datos msdb.

[!NOTA] No todos los errores de página requieren una restauración. Puede producirse un problema en los datos en caché, como por ejemplo un índice secundario, que se puede resolver recalculando los datos. Por ejemplo, si el administrador de la base de datos quita un índice secundario y lo vuelve a generar, los datos dañados, aunque se corrijan, no se indican como tales en la tabla suspect_pages.

Varias páginas de bases de datos se pueden restaurar de inmediato. Las copias de seguridad de archivos de registros se aplican a todos los archivos de base de datos que contienen una página que se va a recuperar. Al igual que en una restauración de archivo, el conjunto de puestas al día se avanza con un solo pase de puesta al día de registro.

La restauración de páginas se ha diseñado para reparar páginas aisladas que se han dañado. La restauración y recuperación de una pequeña cantidad de páginas es más rápida que la restauración de un archivo, ya que reduce la cantidad de datos sin conexión durante la operación de restauración. Sin embargo, si debe restaurar una cantidad mayor de páginas de un archivo, la restauración del archivo completo suele ser más efectiva. Por ejemplo, la presencia de un gran número de páginas dañadas en un dispositivo puede indicar un error de dispositivo pendiente. Pruebe a restaurar el archivo, posiblemente en otra ubicación, y repare el dispositivo.

Escenarios de restauración de páginas

Todas las ediciones de SQL Server 2005 admiten la restauración de páginas cuando la base de datos está sin conexión (restauración de páginas sin conexión). En SQL Server 2005 Enterprise Edition, si la base de datos está conectada durante la restauración de páginas, la base de datos permanece conectada. El proceso de restaurar y recuperar una página mientras la base de datos está conectada se denomina restauración de páginas con conexión.

Los escenarios de restauración de páginas son los siguientes:

  • Restauración de páginas sin conexión
    SQL Server 2005 Standard Edition, SQL Server 2005 Express Edition y SQL Server 2005 Workgroup Edition admiten únicamente restauraciones sin conexión. SQL Server 2005 Enterprise Edition usa restauraciones sin conexión si la base de datos ya está sin conexión. En una restauración de páginas sin conexión, la base de datos está sin conexión mientras se restauran las páginas dañadas. Al final de la secuencia de restauración, la base de datos pasará a estar conectada.
    Para que la restauración de páginas se lleve a cabo correctamente, las páginas restauradas deben recuperarse a un estado coherente con la base de datos. 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 que incluye la página al archivo de registro actual.

  • Restauración de páginas con conexión
    En SQL Server 2005 Enterprise Edition, si las condiciones lo permiten, las restauraciones de páginas se realizan automáticamente con conexión. En la mayoría de los casos, la restauración de una página dañada se realiza mientras la base de datos, incluido el grupo de archivos para el que la página se restaura, permanece conectada. La restauración de páginas con conexión resulta especialmente útil para las páginas dañadas por un error de hardware.
    A veces, será necesario utilizar una restauración sin conexión para algunas páginas dañadas. Por ejemplo, cuando los daños en ciertas páginas críticas pueden evitar que se inicie la base de datos. En estos casos, deberá realizar una restauración sin conexión.

    [!NOTA] Una restauración con conexión intenta actualizar los metadatos y esa actualización puede generar un error si interviene una página crítica. Si un intento de restauración con conexión genera un error, la restauración se debe realizar sin conexión.

La restauración de páginas utiliza el mecanismo mejorado de creación de informes y seguimiento de errores de página (incluidas las sumas de comprobación de página) en SQL Server 2005. Las páginas que las sumas de comprobación o escrituras incompletas han detectado como dañadas, páginas dañadas, se pueden restaurar si se especifican en una instrucción RESTORE. La restauración de páginas se utiliza para restaurar únicamente algunas páginas dañadas. Cualquier página que se especifique en una instrucción RESTORE se sustituirá por una página del conjunto de copia de seguridad especificado. Las páginas restauradas se deben recuperar en un estado coherente con la base de datos. Sólo se restauran las páginas que se especifican de forma explícita.

Limitaciones de la restauración de páginas

Sólo se pueden restaurar las páginas de bases de datos. La restauración de páginas no se puede utilizar para restaurar los elementos siguientes:

  • Registro de transacciones
  • Páginas de asignación: páginas del mapa de asignación global (GAM), páginas del mapa de asignación global compartido (SGAM) y páginas de espacio disponible en páginas (PFS). Para obtener más información, vea Administrar las asignaciones de extensiones y el espacio disponible.
  • Página 0 de todos los archivos de datos (la página de inicio del archivo)
  • Página 1:9 (la página de inicio de la base de datos)
  • Catálogo de texto

Si no se puede restaurar una página concreta, debe utilizar la copia de seguridad completa existente de base de datos o la copia de seguridad completa de archivo o de grupo de archivos.

[!NOTA] Si la página que se va a restaurar es un caso especial, por ejemplo, una página de metadatos, la restauración de páginas con conexión generará un error. En estos casos, intente realizar una restauración de páginas sin conexión.

Requisitos para restaurar páginas

Una restauración de páginas está sujeta a los requisitos siguientes:

  • Las bases de datos deben utilizar el modelo de recuperación completa o por medio de registros de operaciones masivas. Surgirán algunos problemas si se utiliza el modelo de recuperación por medio de registros de operaciones masivas. Para obtener más información, vea la siguiente sección:
  • No se pueden restaurar las páginas de grupos de archivos de sólo lectura. Si intenta convertir un grupo de archivos en grupo de sólo lectura, se producirá un error si se está realizando una restauración de páginas simultáneamente en el grupo de archivos.
  • La secuencia de restauración debe comenzar con una copia de seguridad completa, de archivo o de grupo de archivos.
  • Una restauración de páginas requiere una cadena continua de copias de seguridad de registros hasta el archivo de registro actual, y se deben aplicar todas de modo que se actualice la página con el archivo de registro actual.
  • Al igual que en una secuencia de restauración de archivos, en cada paso de restauración se pueden agregar nuevas páginas al conjunto de puestas al día.
  • No se puede ejecutar al mismo tiempo una copia de seguridad de la base de datos y una restauración de páginas.

Modelo de recuperación por medio de registros de operaciones masivas y restauración de páginas

Para una base de datos que utiliza el modelo de recuperación por medio de registros de operaciones masivas, la restauración de páginas cuenta con las condiciones adicionales siguientes:

  • La realización de copias de seguridad mientras un grupo de archivos o los datos de una página están sin conexión resulta problemática para los datos de registros de operaciones masivas, ya que los datos sin conexión no se encuentran en el registro. La presencia de una página sin conexión puede evitar la realización de una copia de seguridad del registro. En estos casos, intente utilizar DBCC REPAIR, de esta forma la pérdida de datos puede ser menor que si restaura la copia de seguridad más reciente.
  • Si una copia de seguridad de registros de una base de datos por medio de registros de operaciones masivas detecta una página dañada, se producirá un error a menos que se especifique WITH CONTINUE_AFTER_ERROR.
  • La restauración de páginas no suele funcionar con la recuperación por medio de registros de operaciones masivas.
    La recomendación para llevar a cabo la restauración de páginas es establecer la base de datos en el modelo de recuperación completa e intentar realizar una copia de seguridad de registros. Si la copia de seguridad de registros funciona, puede pasar a realizar la restauración de páginas. Si la copia de seguridad de registros no se realiza correctamente, perderá el trabajo realizado desde la copia de seguridad de registros anterior o tendrá que intentar ejecutar DBCC con la opción REPAIR_ALLOW_DATA_LOSS.

Sintaxis básica de restauración de páginas

Para especificar una página en una instrucción RESTORE DATABASE, necesita el Id. de archivo del archivo que contiene la página y el Id. de la página. La sintaxis necesaria es la siguiente:

RESTORE DATABASE database_name

   PAGE ='file:page [ ,...n ]' [ ,...n ]

   FROM <backup_device> [ ,...n ]

WITH NORECOVERY

Para obtener más información acerca de los parámetros de la opción PAGE, vea RESTORE (argumentos, Transact-SQL). Para obtener más información acerca de la sintaxis de RESTORE DATABASE, vea RESTORE (Transact-SQL).

Procedimiento para una restauración de páginas

Los pasos básicos para una restauración de páginas son los siguientes:

  1. Obtener los Id. de las páginas dañadas que se deben restaurar. Un error de suma de comprobación o escritura incompleta devuelve el Id. de página con la información necesaria para especificar las páginas. Para buscar el Id. de una página dañada, utilice cualquiera de los siguientes orígenes.

    Origen de Id. de página Tema

    msdb..suspect_pages

    Descripción y administración de la tabla suspect_pages

    Registro de errores

    Ver el registro de errores de SQL Server

    Trazas de eventos

    Supervisar eventos

    DBCC

    DBCC (Transact-SQL)

    Proveedor WMI

    WMI and SQL Server

  2. Iniciar una restauración de páginas con una copia de seguridad completa de base de datos, de archivo o de grupo de archivos que contenga la página. En la instrucción RESTORE DATABASE, utilice la cláusula PAGE para obtener los Id. de todas las páginas que se deben restaurar.
    PAGE ='file:page [ ,...n ]'

  3. Aplicar las copias de seguridad diferenciales más recientes.

  4. Aplicar las copias de seguridad de registros posteriores.

  5. Crear una nueva copia de seguridad de registros de la base de datos que incluya el LSN final de las páginas restauradas; es decir, el punto en que la última página restaurada se ha desconectado. El LSN final, que se establece como parte de la primera restauración de la secuencia, es el LSN final de puesta al día. La puesta al día con conexión del archivo que contiene la página puede detenerse en el LSN final de puesta al día. Para conocer el LSN final de puesta al día de un archivo, vea la columna redo_target_lsn de sys.master_files. Para obtener más información, vea sys.master_files (Transact-SQL).

  6. Restaurar la copia de seguridad de registros nueva. Después de aplicar esta nueva copia de seguridad de registros, la restauración de páginas finaliza y las páginas están listas para su uso.

[!NOTA] Esta secuencia es análoga a una secuencia de restauración de archivos. De hecho, tanto la restauración de páginas como la de archivos puede realizarse como parte de la misma secuencia.

Ejemplo

En el siguiente ejemplo se restauran cuatro páginas dañadas del archivo B con NORECOVERY. A continuación, se aplican dos copias de seguridad de registros con NORECOVERY y, después, la copia de seguridad de registros después del error, recuperada con RECOVERY.

ms175168.note(es-es,SQL.90).gifImportante:
Si las páginas dañadas almacenan metadatos importantes de la base de datos, puede ser necesaria una secuencia de restauración de páginas sin conexión. Para realizar una restauración sin conexión, debe realizar una copia de seguridad del registro de transacciones con WITH NORECOVERY.

En el siguiente ejemplo se realiza una restauración con conexión. En el ejemplo, el Id. del archivo B es 1 y los Id. de las páginas dañadas son 57, 202, 916 y 1016.

RESTORE DATABASE <database> PAGE='1:57, 1:202, 1:916, 1:1016'
   FROM <file_backup_of_file_B> 
   WITH NORECOVERY;
RESTORE LOG <database> FROM <log_backup> 
   WITH NORECOVERY;
RESTORE LOG <database> FROM <log_backup> 
   WITH NORECOVERY; 
BACKUP LOG <database> TO <new_log_backup> 
RESTORE LOG <database> FROM <new_log_backup> WITH RECOVERY;
GO

Vea también

Conceptos

Aplicar copias de seguridad del registro de transacciones
Descripción y administración de la tabla suspect_pages
Descripción de cómo funcionan la restauración y la recuperación de copias de seguridad en SQL Server

Otros recursos

RESTORE (Transact-SQL)

Ayuda e información

Obtener ayuda sobre SQL Server 2005

Historial de cambios

Versión Historial

17 de julio de 2006

Contenido nuevo:
  • Se agregó la sección "Sintaxis básica de restauración de páginas".
Contenido modificado:
  • Se incorporó el anterior tema "Escenarios de restauración de páginas".