Mientras nos tomábamos unas caipiriñas en Brasil, el grupo de PFE de SQL estuvimos compartiendo algunas experiencias en clientes y una de ellas fue la corrupción de páginas en SQL Server.
Primero que nada, ¿Qué es una página?, en el contexto de SQL Server es la unidad mínima de almacenamiento para los datos, con una medida de 8KB. Para mayor información, consulta en http://msdn.microsoft.com/es-es/library/ms190969.aspx (Descripción de páginas y extensiones).
Ahora, ¿por qué se corrompen las páginas?, si bien no existe una causa específica, generalmente de debe a fallas a nivel de hardware.
Existen tres pasos simples para identificar si existe el escenario mencionado:
DBCC CHECKDB ('NombreBasedeDatos') WITH ALL_ERRORMSGS
GO
SELECT *
FROM msdb..suspect_pages
WHERE (event_type = 1 OR event_type = 2 OR event_type = 3)
Una vez identificada la página corrupta, puedes solucionar el problema mediante los siguientes pasos:
DBCC CHECKDB (NombreBasedeDatos, REPAIR_REBUILD)
USE master
RESTORE DATABASE Northwind
PAGE = '1:265'
FROM DISK = N'D:\DBBackup\NorthwindBackup.bak'
Existen algunas restricciones para utilizar esta funcionalidad, en general, no es posible utilizar recuperación a nivel de página cuando sea de alguno de los siguientes tipos:
Adicionalmente, será necesario ejecutar pasos adicionales de acuerdo a las opciones que tengamos habilitadas en la base de datos, para mayor información consulta en http://msdn.microsoft.com/es-es/library/ms175168.aspx (Realizar restauraciones de página).
Como última opción puedes usar el comando REPAIR_ALLOW_DATA_LOSS con DBCC CHECKDB, sin embargo no recomendamos usar esta opción ya que permite la pérdida de datos sin asegurar la recuperación de las páginas.
Continuaremos bebiéndonos las caipiriñas mientras platicamos sobre SQL Server. Hasta el próximo blog!
“Las opiniones e ideas expresadas en este blog son las de los Autores y no necesariamente declaran o reflejan la opinión de Microsoft”
Este material tambien lo podras acceder en http://blogs.technet.com/b/sql_pfe_latam/
Gracias por compartir esta información en el blog, realmente es útil conocer si hay páginas corruptas a nivel de SQL Server, en un RAP de SharePoint está es una de las pruebas que se ejecutan para el análisis de SQL Server y podemos compartir este conocimiento de los especialistas de SQL con ellos para que entiendan porque se pueden presentar comportamientos extraños en el contenido de los sitios de SharePoint