02. Páginas dañadas

Primero, el problemas de páginas dañadas puede darle solo cuando se escribe de forma incorrecta una página, este hecho se da por ejemplo cuando, durante una operación de escritura se corta la energía eléctrica u ocurre una falla de hardware. Dado este hecho SQL Server detectará el problema solo cuando intente leer dicha página.

La configuración por defecto no controla páginas dañadas y lo que puede ocurrir es que al encontrar una, la db se ponga off line..

La opción PAGE_VERIFY pueta en CHECKSUM nos permite descubir y registrar páginas dañadas. Esto lo hace debido a que cuando una página es escrita en disco, un checksum es calculado y almacenado en el header de la página. Cuando se lee una página el checksum es nuevamente calculado y comparado con el almacenado en el header de la paǵina, en caso de no coincide un error 824, lo que desencadena regsistros de error a todo nivel (SQL y Windows), además la página en cuestion es registrada en la tabla suspect_pages en la db msdb.

 

select * from msdb.dbo.suspect_pages

 

Las formas de recuperar una página dañada son: restaurando un backup, o en caso de que la db participe de un mirroring SQL Server 2008 replacaza automáticamente dicha página con una copia de alguno de los espejos y en este caso se registra en vista sys.db_mirroring_auto_page_repair.

 

 

select * from msdb.sys.dm_db_mirroring_auto_page_repair