El índice no clúster indicado por el id. de índice muestra un error: DESUSADO

Microsoft.SQLServer.2008.The_nonclustered_index_indicated_by_the_index_ID_is_in_error_1_5_Rule (Rule)

Knowledge Base article:

Resumen

Este error se produce cuando el índice no clúster indicado por el id. de índice muestra un error. Los daños se detectan cuando el proceso intenta eliminar una fila no existente.

Soluciones

Ejecute DBCC CHECKDB sin una cláusula de reparación para determinar el alcance de los daños. A continuación, ejecute DBCC CHECKDB con la cláusula REPAIR_REBUILD para corregir los daños. Si continúan los problemas, quite o vuelva a crear el índice (como se muestra a continuación), o bien póngase en contacto con el proveedor de soporte técnico principal.

Importante: si al ejecutar DBCC CHECKDB con la cláusula REPAIR_REBUILD no se corrige el problema del índice o si no está seguro del efecto que puede tener en sus datos DBCC CHECKDB con la cláusula REPAIR_REBUILD, póngase en contacto con el proveedor de soporte técnico principal.

Para quitar el índice y volver a crearlo:

Registre el valor de la página de índice y el id. de índice especificados en el texto de error.

Identifique qué tabla y qué índice se corresponden con el número de página de índice.

Anote el id. del objeto.

Si el objeto con el error es una tabla de sistema (el id. de objeto es inferior a 100), no podrá quitar el índice. Ejecute DBCC CHECKDB con la cláusula REPAIR_REBUILD o restaure la base de datos a partir de una copia de seguridad limpia conocida.

Si el id. de objeto es mayor que 100, quite el índice y vuelva a crearlo utilizando el nombre de la tabla y el nombre del índice obtenidos en el paso 1. En la mayoría de los casos, esto borrará el error.

Ejecute DBCC CHECKDB con la cláusula REPAIR_REBUILD en la base de datos afectada para comprobar que todos los problemas se han resuelto.

Si continúa el problema, es posible que este procedimiento no sea suficiente para limpiar el error del índice. En ese caso, póngase en contacto con el proveedor de soporte técnico principal. Tenga disponible la salida de DBCC CHECKDB para revisarla.

Element properties:

TargetMicrosoft.SQLServer.2008.DBEngine
CategoryEventCollection
EnabledFalse
Event_ID644
Event Source$Target/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/ServiceName$
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
RemotableTrue
Alert Message
El índice no clúster indicado por el id. de índice muestra un error
{0}
Event LogApplication
CommentMom2008ID='{C4E8CBD6-D28E-4F67-B4C3-5B543CE8CACF}';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.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>$Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>