Impossible de récupérer la ligne de la page avec son RID parce que l'ID d'emplacement n'est pas valide : DÉCONSEILLÉ

Microsoft.SQLServer.2005.Cannot_retrieve_row_from_page_by_RID_because_the_slotid_is_not_valid_1_5_Rule (Rule)

Knowledge Base article:

Résumé

Cette erreur se produit lorsqu'un objet auquel appartient cette ligne comporte des erreurs. Le problème a été détecté lors de la lecture d'une ligne spécifique à partir de cette page logique. Cette erreur peut se produire suite à :

des problèmes matériels, notamment avec le disque dur, le contrôleur ou le cache d'écriture ;

d'autres erreurs dans la base de données.

Solutions

Exécutez DBCC CHECKDB afin de déterminer la cause de l'erreur. Consultez également le journal des erreurs à la recherche d'autres erreurs telles que des messages 25xx, souvent associés à cette erreur.

Si DBCC CHECKDB génère d'autres messages d'erreur, il est préférable de commencer par les résoudre. Exécutez DBCC CHECKDB avec la clause REPAIR_REBUILD pour corriger le problème.

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 d'assistance principal.

Si tous les problèmes d'erreur de table ne sont pas corrigés lors de l'exécution de DBCC CHECKDB avec la clause REPAIR_REBUILD, identifiez la table affectée en examinant la page du message d'erreur. Si la page est associée à un index, vous pouvez résoudre le problème en supprimant puis en recréant l'index. Si la page est une page de données et si une sauvegarde saine est disponible, restaurez la base de données à partir de cette sauvegarde.

Si aucune sauvegarde n'est disponible, sélectionnez la table dans une autre table ou effectuez une copie en bloc de la table, supprimez la table, recréez-la et sélectionnez ensuite les données à replacer dans la table.

Si vous pensez qu'il s'agit d'un problème matériel, exécutez les diagnostics appropriés et corrigez les problèmes éventuels. Vous pouvez estimer utile d'effectuer une nouvelle installation complète, avec un reformatage des lecteurs et une réinstallation du système d'exploitation. Examinez également le journal des applications Microsoft® Windows NT® afin de déterminer si l'erreur s'est produite à la suite d'une défaillance matérielle.

Enfin, 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 votre fournisseur de matériel.

Element properties:

TargetMicrosoft.SQLServer.2005.DBEngine
CategoryEventCollection
EnabledFalse
Event_ID625
Event Source$Target/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/ServiceName$
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
RemotableTrue
Alert Message
Impossible de récupérer la ligne de la page avec son RID parce que l'ID d'emplacement n'est pas valide
{0}
Event LogApplication
CommentMom2005ID='{4F5C29B3-E2EB-412A-8375-62D942E20CD4}';MOM2005GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}

Member Modules:

ID Module Type TypeId RunAs 
_F6DA1507_12AF_11D3_AB21_00A0C98620CE_ DataSource Microsoft.Windows.EventProvider Microsoft.SQLServer.SQLDefaultAccount
GenerateAlert WriteAction System.Health.GenerateAlert Default

Source Code:

<Rule ID="Microsoft.SQLServer.2005.Cannot_retrieve_row_from_page_by_RID_because_the_slotid_is_not_valid_1_5_Rule" Target="SQL2005Core!Microsoft.SQLServer.2005.DBEngine" Enabled="false" ConfirmDelivery="true" Remotable="true" Comment="Mom2005ID='{4F5C29B3-E2EB-412A-8375-62D942E20CD4}';MOM2005GroupID={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>625</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.2005.Cannot_retrieve_row_from_page_by_RID_because_the_slotid_is_not_valid_1_5_Rule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>