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.
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.
Nombre | Descripción | Valor predeterminado |
Habilitado | Habilita o deshabilita el flujo de trabajo. | No |
Prioridad | Define la prioridad de la alerta. | 1 |
Gravedad | Define la gravedad de la alerta. | 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>