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

SQL Server 2014 le ofrece la opción de recuperar una base de datos a pesar de los errores detectados. Un importante nuevo mecanismo de detección de errores es la posibilidad de crear opcionalmente una suma de comprobación de la copia de seguridad, que una operación de copia de seguridad puede crear 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 detectando 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 reflejadas proporcionan hasta cuatro copias (reflejos) de un conjunto de medios, lo que proporciona copias alternativas para recuperarse de errores causados por medios dañados. Para obtener más información, vea Conjuntos de medios de copia de seguridad reflejados (SQL Server).

Sumas de verificación de copias de seguridad

SQL Server admite tres tipos de sumas de comprobación: una suma de comprobación en 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 crear una suma de comprobación para una copia de seguridad, la operación de copia de seguridad no añade sumas de comprobación a las páginas. Se realiza una copia de seguridad de las páginas a medida que existen en la base de datos y las páginas no se modifican mediante la copia de seguridad.

Debido al coste adicional de verificar y generar sumas de comprobación de copia de seguridad, el uso de estas sumas puede afectar negativamente al rendimiento. Tanto la carga de trabajo como el rendimiento de la copia de seguridad pueden verse afectados. Por lo tanto, el uso de comprobaciones de respaldo es opcional. Al decidir generar sumas de comprobación durante una copia de seguridad, supervise cuidadosamente la sobrecarga de CPU en la que se incurre, así como el impacto en cualquier carga de trabajo simultánea del sistema.

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

Cuando se activan los códigos de verificación para la copia de seguridad, se realiza la operación de copia de seguridad en los siguientes pasos:.

  1. Antes de escribir una página en los medios de copia de seguridad, la operación de copia de seguridad comprueba la información a nivel de página (suma de comprobación de página o detección de página rasgada), si cualquiera de los dos existe. Si no existe ninguno, la copia de seguridad no puede comprobar la página. Las páginas no comprobadas se incluyen tal como están, y su contenido se agrega a la sumatoria de verificación de la copia de seguridad total.

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

    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. Las operaciones de restauración pueden usar opcionalmente la suma de comprobación de copia de seguridad para validar que la copia de seguridad no está dañada. La suma de comprobación de copia de seguridad se almacena en los medios de copia de seguridad, no en las páginas de la base de datos. La suma de comprobación de copia de seguridad se puede usar opcionalmente en el momento de la restauración.

  3. El conjunto de copia de seguridad se ha marcado como conteniendo sumas de comprobación de copia de seguridad (en la columna has_backup_checksums de msdb..backupset). Para obtener más información, consulte conjunto de copias de seguridad (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 confiable las sumas de comprobación de las páginas.

Respuesta a 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, puede controlar si una operación determinada falla al encontrar un error o continúa lo mejor que pueda.

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

  1. Marca el conjunto de backup en el medio de backup como si contuviera errores y rastrea la página en la tabla suspect_pages de la base de datos msdb. Para obtener más información, vea 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 obtener más información, consulte conjunto de copias de seguridad (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 inhabilitar checksums de copia de seguridad

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

Véase 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)