[Deprecato] Non è possibile recuperare la riga dalla pagina in base al valore RID perché il valore slotid non è valido

Microsoft.SQLServer.2008.Cannot_retrieve_row_from_page_by_RID_because_the_slotid_is_not_valid_1_5_Rule (Rule)

Knowledge Base article:

Riepilogo

Questo errore si verifica quando l'oggetto al quale appartiene la riga è errato. Il problema viene rilevato durante la lettura di una riga specifica dalla pagina logica. Questo errore può verificarsi in seguito a:

Problemi hardware, soprattutto a livello del disco rigido, del controller o della memorizzazione nella cache in scrittura hardware.

Altri errori del database.

Soluzioni

Eseguire DBCC CHECKDB per determinare l'effettiva entità dell'errore. Controllare inoltre nel log degli errori l'esistenza di altri messaggi, quali i messaggi 25xx, associati spesso a questo errore.

Se DBCC CHECKDB genera altri messaggi di errore, la risoluzione di questi errori potrebbe essere sufficiente a risolvere il problema. Eseguire DBCC CHECKDB con la clausola REPAIR_REBUILD per correggere l'errore.

Importante: se l'esecuzione di DBCC CHECKDB con la clausola REPAIR_REBUILD non è sufficiente per risolvere il problema dell'indice o in caso di dubbi sugli effetti di tale esecuzione sui dati, rivolgersi al servizio di supporto tecnico.

Se l'esecuzione di DBCC CHECKDB con la clausola REPAIR_REBUILD non è sufficiente per la risoluzione di tutti gli errori della tabella, individuare la tabella interessata esaminando la pagina del messaggio di errore. Se la pagina è associata a un indice, dovrebbe essere possibile risolvere il problema eliminando e ricreando l'indice. Se si tratta di una pagina di dati ed è disponibile una copia di backup priva di errori, ripristinare il database dal backup.

Se il backup non è disponibile, selezionare la tabella in un'altra tabella o eseguire una copia bulk dei dati della tabella, quindi eliminare la tabella, ricrearla ed eseguire un'istruzione SELECT INTO per reinserire i dati nella tabella.

Se si ritiene che la causa possa essere un problema hardware, eseguire gli strumenti di diagnostica hardware e risolvere gli eventuali problemi. Potrebbe essere opportuno riconfigurare il computer, riformattando le unità disco e reinstallando il sistema operativo. Esaminare inoltre il log applicazioni di Microsoft® Windows NT® per verificare se l'errore è stato causato da un errore hardware.

Verificare infine 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.

Parametri di cui è possibile eseguire l'override

Nome

Descrizione

Valore predefinito

Abilitato

Abilita o disabilita il flusso di lavoro.

No

Priorità

Definisce la priorità dell'avviso.

1

Gravità

Definisce la gravità dell'avviso.

2

Element properties:

TargetMicrosoft.SQLServer.2008.DBEngine
CategoryEventCollection
EnabledFalse
Event_ID625
Event Source$Target/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/ServiceName$
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
RemotableTrue
Alert Message
Il valore slotid non è valido. Impossibile recuperare la riga dalla pagina in base al valore RID
{0}
Event LogApplication
CommentMom2008ID='{4F5C29B3-E2EB-412A-8375-62D942E20CD4}';MOM2008GroupID={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.2008.Cannot_retrieve_row_from_page_by_RID_because_the_slotid_is_not_valid_1_5_Rule" Target="SQL2008Core!Microsoft.SQLServer.2008.DBEngine" Enabled="false" ConfirmDelivery="true" Remotable="true" Comment="Mom2008ID='{4F5C29B3-E2EB-412A-8375-62D942E20CD4}';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>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.2008.Cannot_retrieve_row_from_page_by_RID_because_the_slotid_is_not_valid_1_5_Rule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>Event ID: $Data/EventDisplayNumber$. $Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>