Posibles errores de medios durante copia de seguridad y restauración (SQL Server)

Se aplica a:SQL Server

SQL Server ofrece la opción de recuperación de una base de datos a pesar de los errores detectados. Un importante mecanismo de detección de errores nuevo es la creación opcional de una suma de comprobación de copia de seguridad que se puede crear mediante una operación de copia de seguridad y validar mediante una operación de restauración. Puede controlar si una operación comprueba si hay errores y si la operación se detiene o continúa al encontrar un error. Si una copia de seguridad contiene una suma de comprobación de la copia de seguridad, las sentencias RESTORE y RESTORERESTORE VERIFYONLY pueden comprobar si hay errores.

Nota:

Las copias de seguridad duplicadas proporcionan hasta cuatro copias (réplicas) de un conjunto de soportes, ofreciendo copias alternativas para recuperarse de errores causados por soportes dañados. Para más información, vea Conjuntos de medios de copia de seguridad reflejados (SQL Server).

Comprobaciones de copia de seguridad

SQL Server admite tres tipos de sumas de comprobación: una suma de comprobación en las páginas, una suma de comprobación en bloques de registro y una suma de comprobación de copia de seguridad. Al generar una suma de comprobación de copia de seguridad, BACKUP comprueba que los datos leídos de la base de datos coinciden con cualquier suma de comprobación o indicador de página fragmentada presente en la base de datos.

La instrucción BACKUP calcula opcionalmente una suma de comprobación de la copia de seguridad en el flujo de copia de seguridad; si en una página determinada hay información de suma de comprobación de página o de página dividida, al hacer la copia de seguridad de la página, BACKUP también comprueba la suma de comprobación, el estado de página dividida y el identificador de la página. Al generar una suma de comprobación para la copia de seguridad, una operación de copia de seguridad no añade ninguna suma de comprobación a las páginas. Las páginas se copian tal y como están en la base de datos y la copia de seguridad no las modifica.

Debido a la sobrecarga de verificar y generar sumas de comprobación de las copias de seguridad, el uso de estas sumas de comprobación puede afectar al rendimiento. Pueden quedar afectados tanto la carga de trabajo como el rendimiento de la copia de seguridad. Por consiguiente, el uso de la suma de comprobación de copia de seguridad es opcional. Al decidir si generar sumas de verificación durante una copia de seguridad, supervise cuidadosamente la sobrecarga de CPU que ello supone, así como el impacto en cualquier carga de trabajo concurrente en el sistema.

BACKUP nunca modifica la página de origen en el disco ni el contenido de una página.

Cuando se habilitan las sumas de comprobación de las copias de seguridad, la operación de copia de seguridad realiza los siguientes pasos:

  1. Antes de escribir una página en el medio de copia de seguridad, la operación de copia de seguridad verifica la información de nivel de página (suma de comprobación de página o detección de página rasgada), si existe alguna de ellas. Si no existe, la copia de seguridad no puede comprobar la página. Las páginas sin verificar se incluyen tal cual y su contenido se añade a la suma de comprobación global de la copia de seguridad.

    Si la operación de copia de seguridad encuentra un error de página durante la comprobación, la copia de seguridad genera un error.

    Nota:

    Para obtener más información sobre las sumas de comprobación de página y la detección de páginas dañadas, consulte la opción PAGE_VERIFY de la instrucción ALTER DATABASE. Para obtener más información, vea ALTER DATABASE SET Opciones (Transact-SQL).

  2. Independientemente de si se utilizan sumas de comprobación de las páginas, BACKUP genera una suma de comprobación independiente para los flujos de copia de seguridad. Opcionalmente, las operaciones de restauración pueden utilizar la suma de comprobación de copia de seguridad para confirmar que la copia de seguridad no está dañada. La suma de comprobación de copia de seguridad se almacena en el medio de copia de seguridad y no en las páginas de la base de datos. La suma de comprobación de la copia de seguridad puede usarse opcionalmente durante la restauración.

  3. El conjunto de copia de seguridad se marca como que contiene sumas de comprobación de la copia de seguridad (en la columna has_backup_checksums de msdb..backupset). Para más información, consulte backupset (Transact-SQL).

Durante una operación de restauración, si hay sumas de comprobación de la copia de seguridad en el medio de copia de seguridad, de forma predeterminada, las instrucciones RESTORE y RESTORERESTORE VERIFYONLY verifican las sumas de comprobación de la copia de seguridad y las sumas de comprobación de las páginas. Si no hay ninguna suma de comprobación de copia de seguridad, la operación de restauración continúa sin ninguna verificación; esto se debe a que, sin una suma de comprobación de copia de seguridad, la restauración no puede verificar de forma fiable las sumas de comprobación de las páginas.

Solución a los errores de suma de comprobación de página durante una operación de copia de seguridad o restauración

De forma predeterminada, tras detectarse un error de suma de comprobación en una página, una operación BACKUP o RESTORE falla y una operación RESTORERESTORE VERIFYONLY continúa. Sin embargo, se puede controlar si una operación dada se detiene al encontrar un error o continúa de la mejor manera posible.

Si una BACKUP operación continúa después de encontrar errores, la operación realiza los pasos siguientes:

  1. Marca el conjunto de copia de seguridad del medio de copia de seguridad como que contiene errores y registra la página en la tabla suspect_pages de la base de datos msdb. Para más información, consulte suspect_pages (Transact-SQL).

  2. Registra el error en el registro de errores de SQL Server.

  3. Marca el conjunto de copia de seguridad como que contiene este tipo de error (en la columna is_damaged de msdb..backupset). Para más información, consulte backupset (Transact-SQL).

  4. Emite un mensaje que indica que la copia de seguridad se generó correctamente, pero contiene errores de página.

Tareas relacionadas

Para habilitar o deshabilitar las sumas de comprobación de la copia de seguridad

Para controlar la respuesta a un error durante una operación de copia de seguridad

Consulte también

ALTER DATABASE (Transact-SQL)
BACKUP (Transact-SQL)
backupset (Transact-SQL)
Conjuntos de medios de copia de seguridad reflejados (SQL Server)
RESTORE (Transact-SQL)
RESTORE VERIFYONLY (Transact-SQL)