Esta pregunta fue provocada por esta publicación anterior y por tener una base de datos archivada para futuras investigaciones que se restauró a continuación:
BACKUP 'BrokenDatabase' detected an error on page (1:123456) in file ’BrokenDatabase.mdf'.
Error: 3043, Severity: 16, State: 1.
En la pregunta vinculada y la copia de seguridad que tengo lista para las investigaciones de DBCC PAGE, DBCC CHECKDB pasó sin error pero evidentemente hay corrupción.
¿Qué tipos de corrupción pueden ocurrir cuando CHECKDB pasará pero fallará una RESPALDA CON CHECKSUM?
sql-server-2008
sql-server-2005
dbcc
corruption
Mark Storey-Smith
fuente
fuente
Respuestas:
La siguiente es una compilación de resultados que leí. Encontrará mucha más información en los blogs y documentos vinculados.
Primero, puede suceder que
DBCC CHECKDB
no detecte inconsistencias si desactiva la suma de verificación o la verificación de rasgado de página. Una cita de Paul Randal en esta publicación :La situación anterior puede afectarlo si actualizó una base de datos de SQL Server 2000 o anterior a 2005 o posterior. Luego, debe habilitar manualmente las sumas de verificación de página con ALTER DATABASE para activarlas. Pero luego el segundo párrafo de la cita anterior entra en acción y podría molestarlo.
BACKUP WITH CHECKSUM
detectará inconsistencias en la suma de verificación, pero solo si la página ya tenía una suma de verificación escrita cuando se realiza una copia de seguridad. NormalmenteDBCC CHECKDB
también detecta estos errores, por lo que no es una buena idea usar BACKUP WITH CHECKSUM para reemplazar DBCC CHECKDB .Ahora hay una segunda posibilidad para
DBCC CHECKDB
no mostrar inconsistencias, incluso si hay algunas. Para esto solo estoy citando nuevamente a Paul Randal en Conceptos erróneos sobre la corrupción: ¿pueden desaparecer? :No tengo una respuesta final a su pregunta, pero como
DBCC CHECKDB
solo verifica las páginas asignadas, no mostrará inconsistencias en las páginas desasignadas. La única situación que puedo imaginar ahora es que BACKUP también realiza copias de seguridad de las páginas desasignadas que muestran posibles errores de suma de verificación que se omitieronDBCC CHECKDB
.fuente