Deux pages sont liées comme parent (P_ID2) et enfant (P_ID1) dans un arbre B (B-tree). Le niveau (LEVEL1) de la page enfant (P_ID1) n'est pas compatible avec les règles de niveau des arborescences binaires (B-trees), étant donné le niveau (LEVEL2) dans la page parent (P_ID2).
Deux pages sont liées comme parent (P_ID2) et enfant (P_ID1) dans un arbre B (B-tree). Le niveau (LEVEL1) de la page enfant (P_ID1) n'est pas compatible avec les règles de niveau des arborescences binaires (B-trees), étant donné le niveau (LEVEL2) dans la page parent (P_ID2).
Les règles de niveau sont telles que si une page parent a le niveau X, une page enfant doit avoir :
Le niveau X-1, si l'index est un index non cluster.
le niveau X-1, si l'index est un index cluster et que la page enfant ne se trouve pas au niveau feuille.
Le niveau 0, si l'index est un index cluster et que la page enfant se trouve au niveau feuille. Dans ce cas, le niveau de la page parent doit également être 0.
Pour déterminer la page incorrecte, examinez les deux pages et recherchez les erreurs 2531 (discordance de niveau de frères de b-tree).
PANNE MATÉRIELLE
Exécutez les diagnostics matériels et corrigez les éventuels problèmes rencontrés. Examinez également les journaux des applications et système Microsoft Windows NT ainsi que le journal des erreurs SQL Server afin de déterminer si l'erreur est le résultat d'une défaillance matérielle. Corrigez les problèmes liés au matériel.
Si vous continuez à rencontrer des problèmes d'incohérence des données, essayez de permuter des composants matériels pour isoler le problème. Assurez-vous que le cache d'écriture n'est pas activé sur le contrôleur de disque. Si vous pensez que c'est le cas, contactez le fournisseur du matériel.
Pour terminer, il peut être utile d'installer un tout nouveau système matériel, de reformater vos lecteurs de disque et de réinstaller votre système d'exploitation.
RESTAURATION À PARTIR D'UNE SAUVEGARDE
Si le problème n'est pas matériel et si une restauration réputée en bon état est disponible, restaurez la base de données à partir de la sauvegarde.
DBCC CHECKDB
Si aucune sauvegarde saine n'est disponible, exécutez DBCC CHECKDB sans clause de réparation pour déterminer l'étendue de la corruption. DBCC CHECKDB vous recommandera une clause de réparation. Ensuite, exécutez DBCC CHECKDB avec la clause de réparation adéquate afin de réparer les dégâts.
ATTENTION : si vous ne connaissez pas les conséquences sur vos données de l’exécution de DBCC CHECKDB avec une clause de réparation, contactez votre fournisseur d’assistance principal avant d’exécuter cette instruction.
Si l'exécution de DBCC CHECKDB avec l'une des clauses de réparation ne corrige pas le problème, contactez votre fournisseur d'assistance principal.
Nom | Description | Valeur par défaut |
Activé | Active ou désactive le flux de travail. | Oui |
Priorité | Définit la priorité de l'alerte. | 1 |
Severité | Définit la gravité de l'alerte. | 2 |
Target | Microsoft.SQLServer.2016.DBEngine | ||
Category | EventCollection | ||
Enabled | True | ||
Event_ID | 8931 | ||
Event Source | $Target/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.DBEngine"]/ServiceName$ | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Remotable | True | ||
Alert Message |
| ||
Event Log | Application | ||
Comment | Mom2016ID='{103AD5CC-EB5B-431C-81C6-6766C166FC82}';MOM2016GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74} |
ID | Module Type | TypeId | RunAs |
---|---|---|---|
_F6DA1507_12AF_11D3_AB21_00A0C98620CE_ | DataSource | Microsoft.Windows.EventProvider | Default |
GenerateAlert | WriteAction | System.Health.GenerateAlert | Default |
<Rule ID="Microsoft.SQLServer.2016.Table_error__B_tree_level_mismatch_page_does_not_match_level_from_parent__1_5_Rule" Target="SQL2016Core!Microsoft.SQLServer.2016.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2016ID='{103AD5CC-EB5B-431C-81C6-6766C166FC82}';MOM2016GroupID={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">
<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="SQL2016Core!Microsoft.SQLServer.2016.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.2016.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>