Cette erreur se produit lorsque l'index non cluster indiqué par l'ID d'index est incorrect. L'altération est détectée lorsqu'un processus tente de supprimer une ligne inexistante.
Exécutez DBCC CHECKDB sans utiliser de clause de réparation pour déterminer l'étendue des dommages. Ensuite, exécutez DBCC CHECKDB avec la clause REPAIR_REBUILD pour corriger l'erreur. Si le problème persiste, supprimez l'index et recréez-le (comme indiqué ci-dessous) ou contactez votre fournisseur de support principal.
Important : si le problème d'indexation n'est pas corrigé lors de l'exécution de DBCC CHECKDB avec la clause REPAIR_REBUILD ou si vous ignorez les conséquences sur vos données de l'exécution de DBCC CHECKDB avec la clause REPAIR_REBUILD, contactez votre fournisseur de support principal.
Pour supprimer l'index et le recréer :
Enregistrez la valeur de la page d'index et l'ID d'index indiqués dans le texte de l'erreur.
Identifiez la table et l'index correspondant au numéro de page d'index.
Notez l'ID de l'objet.
Si l'objet qui pose problème est une table système (l'ID de l'objet est inférieur à 100), vous ne pouvez pas supprimer l'index. Exécutez DBCC CHECKDB avec la clause REPAIR_REBUILD ou restaurez la base de données à partir d'une sauvegarde saine.
Si l'ID de l'objet est supérieur à 100, supprimez l'index et recréez-le à l'aide du nom de table et du nom d'index obtenus à l'étape 1. Dans la plupart des cas, l'erreur sera corrigée.
Exécutez DBCC CHECKDB avec la clause REPAIR_REBUILD dans la base de données concernée afin de vérifier que tous les problèmes ont été résolus.
Si le problème persiste, cette procédure est probablement insuffisante pour corriger l'erreur de l'index. Dans ce cas, contactez votre fournisseur de support principal. Gardez le résultat de DBCC CHECKDB à disposition pour en permettre l'examen.
Nom | Description | Valeur par défaut |
Activé | Active ou désactive le flux de travail. | Non |
Priorité | Définit la priorité de l'alerte. | 1 |
Gravité | Définit la gravité de l'alerte. | 2 |
Target | Microsoft.SQLServer.2008.DBEngine | ||
Category | EventCollection | ||
Enabled | False | ||
Event_ID | 644 | ||
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='{C4E8CBD6-D28E-4F67-B4C3-5B543CE8CACF}';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.The_nonclustered_index_indicated_by_the_index_ID_is_in_error_1_5_Rule" Target="SQL2008Core!Microsoft.SQLServer.2008.DBEngine" Enabled="false" ConfirmDelivery="true" Remotable="true" Comment="Mom2008ID='{C4E8CBD6-D28E-4F67-B4C3-5B543CE8CACF}';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>644</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.The_nonclustered_index_indicated_by_the_index_ID_is_in_error_1_5_Rule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>Event ID: $Data/EventDisplayNumber$. $Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>