Chaque ligne de données d'une table (segment de mémoire ou index cluster) doit avoir une ligne d'index correspondante dans chaque index non cluster de cette table. Cette erreur signifie qu'un index non cluster a une ligne d'index qui ne correspond à aucune à aucune ligne de données.
Chaque ligne de données d'une table (segment de mémoire ou index cluster) doit avoir une ligne d'index correspondante dans chaque index non cluster de cette table. Cette erreur signifie qu'un index non cluster a une ligne d'index qui ne correspond à aucune à aucune ligne de données.
Le message 8956 associé identifie la ligne d'index et ses clés, ainsi que la ligne de données à laquelle la ligne d'index croit correspondre. Les erreurs 8951 et 8955 associées peuvent être signalées.
PANNE MATÉRIELLE
Exécutez les diagnostics matériels et corrigez les problèmes éventuels. Examinez aussi les journaux des applications et du système Microsoft Windows NT, ainsi que le journal des erreurs SQL Server pour 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 avez des problèmes d'incohérence de données persistants, essayez de remplacer des composants matériels pour isoler le problème. Vérifiez que la mise en cache des écritures n'est pas activée 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, notamment de reformater les lecteurs de disque et de réinstaller le système d'exploitation.
RESTAURATION À PARTIR D'UNE SAUVEGARDE
Si le problème n'est pas d'ordre matériel et qu'une sauvegarde réputée saine 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 l'altération. DBCC CHECKDB vous recommandera l'utilisation d'une clause de réparation. Ensuite, exécutez DBCC CHECKDB avec la clause de réparation appropriée pour réparer l'altération.
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 principal prestataire de support.
Nom | Description | Valeur par défaut |
Activé | Active ou désactive le flux de travail. | Oui |
Intervalle (en secondes) | Intervalle régulier (en secondes) auquel exécuter le flux de travail. | 300 |
Priorité | Définit la priorité de l'alerte. | 1 |
Gravité | Définit la gravité de l'alerte. | 1 |
Heure de synchronisation | Heure de synchronisation |
|
Délai d'expiration (secondes) | Spécifie la durée pendant laquelle le flux de travail est autorisé à s’exécuter avant d’être fermé et marqué comme ayant échoué. | 200 |
Délai d’attente pour la connexion de base de données (secondes) | Le workflow échoue et enregistre un événement s’il ne peut pas accéder à la base de données pendant la période spécifiée. | 15 |
Target | Microsoft.SQLServer.Windows.DBEngine | ||
Category | EventCollection | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Warning | ||
Alert Priority | Normal | ||
Remotable | True | ||
Alert Message |
| ||
Comment | Mom2017ID='{15DA894D-2F16-4A2A-ADF3-EB126DE4AD70}';MOM2017GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74} |
ID | Module Type | TypeId | RunAs |
---|---|---|---|
_F6DA1507_12AF_11D3_AB21_00A0C98620CE_ | DataSource | Microsoft.SQLServer.Windows.DataSource.EventCollectionFiltered | Default |
GenerateAlert | WriteAction | System.Health.GenerateAlert | Default |
<Rule ID="Microsoft.SQLServer.Windows.EventRule.DBEngine.Table_error__Extra_or_invalid_key_1_5_Rule" Target="SqlDiscW!Microsoft.SQLServer.Windows.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2017ID='{15DA894D-2F16-4A2A-ADF3-EB126DE4AD70}';MOM2017GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="_F6DA1507_12AF_11D3_AB21_00A0C98620CE_" Comment="{F6DA1507-12AF-11D3-AB21-00A0C98620CE}" TypeID="Microsoft.SQLServer.Windows.DataSource.EventCollectionFiltered">
<MachineName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</MachineName>
<NetbiosComputerName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/NetbiosComputerName$</NetbiosComputerName>
<InstanceName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</InstanceName>
<ConnectionString>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/ConnectionString$</ConnectionString>
<InstanceVersion>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/Version$</InstanceVersion>
<InstanceEdition>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/Edition$</InstanceEdition>
<MonitoringType>$Target/Property[Type="SqlDiscW!Microsoft.SQLServer.Windows.DBEngine"]/MonitoringType$</MonitoringType>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<TimeoutSeconds>200</TimeoutSeconds>
<IntervalSeconds>300</IntervalSeconds>
<SyncTime/>
<EventDisplayNumber>8952</EventDisplayNumber>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="Health!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.SQLServer.Windows.EventRule.DBEngine.Table_error__Extra_or_invalid_key_1_5_Rule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>Event ID: $Data/Property[@Name='EventID']$. $Data/Property[@Name='Message']$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>