In un albero B sono state rilevate due pagine collegate come padre (P_ID2) e figlio (P_ID1). Il livello (LEVEL1) nella pagina figlio (P_ID1) non è conforme alle regole relative ai livelli per gli alberi B, dato il livello (LEVEL2) nella pagina padre (P_ID2).
In un albero B sono state rilevate due pagine collegate come padre (P_ID2) e figlio (P_ID1). Il livello (LEVEL1) nella pagina figlio (P_ID1) non è conforme alle regole relative ai livelli per gli alberi B, dato il livello (LEVEL2) nella pagina padre (P_ID2).
Le regole relative ai livelli richiedono che, se a una pagina padre è associato il livello X, a una pagina figlio deve essere associato quanto segue:
Livello X-1, se l'indice è non cluster.
Livello X-1, se l'indice è cluster e la pagina figlio non si trova a livello foglia.
Livello 0, se l'indice è cluster e la pagina figlio si trova a livello foglia. In questo caso è necessario che anche il livello della pagina padre sia 0.
Per individuare la pagina errata, esaminare le due pagine e cercare eventuali errori 2531, ovvero errori di mancata corrispondenza di livello tra elementi di pari livello in un albero B.
ERRORE HARDWARE
Eseguire gli strumenti di diagnostica hardware e risolvere eventuali problemi. Esaminare inoltre i registri di sistema e delle applicazioni di Microsoft Windows NT nonché il log degli errori di SQL Server per verificare se l'errore è stato causato da un guasto dell'hardware. Risolvere tutti gli eventuali problemi relativi all'hardware.
Se i problemi di incoerenza dei dati persistono, provare a sostituire i vari componenti hardware per isolare il problema. Verificare che nel sistema non sia stata abilitata la memorizzazione nella cache in scrittura per il controller del disco. Se si ritiene che il problema possa essere questo, contattare il fornitore dell'hardware.
Infine, potrebbe essere utile passare a un sistema hardware completamente nuovo, eseguendo anche la riformattazione delle unità disco e la reinstallazione del sistema operativo.
RIPRISTINO DAL BACKUP
Se il problema non è correlato all'hardware ed è disponibile un backup valido noto, ripristinare il database dal backup.
DBCC CHECKDB
Se non è disponibile una copia di backup valida, eseguire DBCC CHECKDB senza una clausola di correzione per determinare l'entità del problema. DBCC CHECKDB consiglierà una clausola di correzione da usare. Eseguire quindi DBCC CHECKDB con la clausola di correzione appropriata per correggere il problema.
ATTENZIONE: se non si è certi dell'effetto sui dati provocato dall'esecuzione di DBCC CHECKDB con una clausola di correzione, contattare il supporto tecnico prima di eseguire questa istruzione.
Se l'esecuzione di DBCC CHECKDB con una clausola di correzione non consente di risolvere il problema, rivolgersi al servizio di supporto tecnico.
Nome | Descrizione | Valore predefinito |
Abilitato | Abilita o disabilita il flusso di lavoro. | Sì |
Priorità | Definisce la priorità dell'avviso. | 1 |
Gravità | Definisce la gravità dell'avviso. | 2 |
Target | Microsoft.SQLServer.2014.DBEngine | ||
Category | EventCollection | ||
Enabled | True | ||
Event_ID | 8931 | ||
Event Source | $Target/Property[Type="SQL2014Core!Microsoft.SQLServer.2014.DBEngine"]/ServiceName$ | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Remotable | True | ||
Alert Message |
| ||
Event Log | Application | ||
Comment | Mom2014ID='{103AD5CC-EB5B-431C-81C6-6766C166FC82}';MOM2014GroupID={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.2014.Table_error__B_tree_level_mismatch_page_does_not_match_level_from_parent__1_5_Rule" Target="SQL2014Core!Microsoft.SQLServer.2014.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2014ID='{103AD5CC-EB5B-431C-81C6-6766C166FC82}';MOM2014GroupID={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="SQL2014Core!Microsoft.SQLServer.2014.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.2014.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>