Existen dos páginas vinculadas como primaria (P_ID2) y secundaria (P_ID1) en un árbol B. El nivel (LEVEL1) de la página secundaria (P_ID1) no cumple las reglas de nivel de los árboles B, dado el nivel (LEVEL2) de la página primaria (P_ID2).
Las reglas de nivel establecen que si una página primaria tiene el nivel X, una página secundaria deberá contar con:
Nivel X-1, si el índice es un índice no clúster.
Nivel X-1, si el índice es un índice agrupado y la página secundaria no se encuentra en el nivel hoja.
Nivel 0, si el índice es un índice agrupado y la página secundaria se encuentra en el nivel hoja. En este caso, el nivel de la página primaria deberá ser también 0.
Para averiguar qué página es incorrecta, examine las dos páginas y busque también cualquier error 2531 (no coincidencia del mismo nivel del árbol B).
ERROR DE HARDWARE
Ejecute un diagnóstico de hardware y corrija todos los problemas que se muestren. Examine además los registros de sistema y aplicaciones de Microsoft Windows NT, así como el registro de errores de SQL Server, para ver si el problema se ha producido como consecuencia de un error de hardware. Corrija cualquier problema relacionado con el hardware.
Si tiene continuos problemas de incoherencia de datos, pruebe a intercambiar los distintos componentes de hardware para aislar el problema. Compruebe que el sistema no tiene habilitada la memoria caché de escritura en el controlador de disco. Si sospecha que este puede ser el caso, póngase en contacto con el proveedor de hardware.
Por último, podría resultar útil cambiar a un sistema de hardware completamente nuevo, lo que incluye volver a dar formato a las unidades de disco y reinstalar el sistema operativo.
RESTAURAR DESDE COPIA DE SEGURIDAD
Si el problema no está relacionado con el hardware y tiene una copia de seguridad limpia disponible, úsela para restaurar la base de datos.
DBCC CHECKDB
Si no hay ninguna copia de seguridad limpia disponible, ejecute DBCC CHECKDB sin una cláusula de reparación para determinar el alcance de los daños. DBCC CHECKDB recomendará la cláusula de reparación que se debe usar. A continuación, ejecute DBCC CHECKDB con la cláusula de reparación adecuada para solucionar los daños.
PRECAUCIÓN: si no está seguro del efecto que pueda tener DBCC CHECKDB con una cláusula de reparación sobre sus datos, póngase en contacto con el proveedor de soporte técnico principal antes de ejecutar esta instrucción.
Si se ejecuta DBCC CHECKDB con una de las cláusulas de reparación pero no se soluciona el problema, póngase en contacto con el proveedor de soporte técnico principal.
Nombre | Descripción | Valor predeterminado |
Habilitado | Habilita o deshabilita el flujo de trabajo. | Sí |
Prioridad | Define la prioridad de la alerta. | 1 |
Gravedad | Define la gravedad de la alerta. | 2 |
Target | Microsoft.SQLServer.2008.DBEngine | ||
Category | EventCollection | ||
Enabled | True | ||
Event_ID | 8931 | ||
Event Source | $Target/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/ServiceName$ | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Remotable | True | ||
Alert Message |
| ||
Event Log | Application | ||
Comment | Mom2008ID='{103AD5CC-EB5B-431C-81C6-6766C166FC82}';MOM2008GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74} |
ID | Module Type | TypeId | RunAs |
---|---|---|---|
_F6DA1507_12AF_11D3_AB21_00A0C98620CE_ | DataSource | Microsoft.Windows.EventProvider | Microsoft.SQLServer.SQLDefaultAccount |
GenerateAlert | WriteAction | System.Health.GenerateAlert | Default |
<Rule ID="Microsoft.SQLServer.2008.Table_error__B_tree_level_mismatch_page_does_not_match_level_from_parent__1_5_Rule" Target="SQL2008Core!Microsoft.SQLServer.2008.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2008ID='{103AD5CC-EB5B-431C-81C6-6766C166FC82}';MOM2008GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="_F6DA1507_12AF_11D3_AB21_00A0C98620CE_" Comment="{F6DA1507-12AF-11D3-AB21-00A0C98620CE}" TypeID="Windows!Microsoft.Windows.EventProvider" RunAs="SQL!Microsoft.SQLServer.SQLDefaultAccount">
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>Application</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>$Target/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/ServiceName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>8931</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="SystemHealth!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>2</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.SQLServer.2008.Table_error__B_tree_level_mismatch_page_does_not_match_level_from_parent__1_5_Rule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>Event ID: $Data/EventDisplayNumber$. $Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>