Compartir vía


MSSQLSERVER_8992

Se aplica a: SQL Server

Detalles

Elemento Valor
Nombre del producto SQL Server
Id. de evento 8992
Origen de eventos MSSQLSERVER
Componente SQLEngine
Nombre simbólico DBCC3_CHECK_CATALOG
Texto del mensaje Mensaje de comprobación del catálogo ERROR nivel LEVEL estado STATE: MESSAGE.

Nota:

El mensaje de error 8992 hace referencia a otro mensaje específico (entre 3851 y 3858) sobre la incoherencia real.

Explicación

DBCC CHECKCATALOG o DBCC CHECKDB encontró una incoherencia en las tablas de metadatos de sistema para el objeto especificado. Es decir, hay una incoherencia entre el identificador de objeto registrado y el objeto especificado en el mensaje de error.

Este error se puede producir cuando una o más tablas del sistema se han actualizado manualmente de una manera que crea una incoherencia en los metadatos del sistema. Por ejemplo, un usuario puede haber eliminado de forma manual un objeto de la tabla sysobjects sin quitar las filas asociadas de otras tablas como sysindexes y syscolumns.

Este error se puede producir al ejecutar DBCC CHECKDB contra una base de datos actualizada de SQL Server 2000 a SQL Server 2005 o posterior. En SQL Server 2000, DBCC CHECKDB no incluía la funcionalidad de DBCC CHECKCATALOG, de modo que el error no se detectara antes de la actualización a menos que DBCC CHECKCATALOG se ejecutara específicamente contra la base de datos en SQL Server 2000.

Puede ver alguno de los errores siguientes junto con el error 8992:

Id. del mensaje Texto del mensaje
3851 Se encontró una fila no válida (%ls) en la tabla del sistema sys.%ls%ls.
3852 La fila (%ls) de sys.%ls%ls no tiene una fila coincidente (%ls) en sys.%ls%ls.
3853 El atributo (%ls) de la fila (%ls) de sys.%ls%ls no tiene una fila coincidente (%ls) en sys.%ls%ls.
3854 El atributo (%ls) de la fila (%ls) de sys.%ls%ls tiene una fila coincidente (%ls) en sys.%ls%ls que no es válida.
3855 El atributo (%ls) existe sin una fila (%ls) in sys.%ls%ls.
3856 El atributo (%ls) existe (aunque no debería) para una fila (%ls) de sys.%ls%ls.
3857 El atributo (%ls) requerido falta en una fila (%ls) de sys.%ls%ls.
3858 El atributo (%ls) de la fila (%ls) de sys.%ls%ls tiene un valor no válido.

Acción del usuario

Quite y vuelva a crear el objeto especificado

Si es posible, quite y vuelva a crear el objeto especificado. Por ejemplo, si el objeto es un procedimiento almacenado o un tipo definido por el usuario, al volver a crearlo, puede que se resuelva el problema.

Restaure mediante la copia de seguridad

Si el problema no está relacionado con el hardware y tiene una copia de seguridad limpia disponible, úsela para restaurar la base de datos. Esta acción solo es aplicable si la copia de seguridad no contiene el error de los metadatos.

Exporte los datos a una nueva base de datos

Si la copia de seguridad también contiene la incoherencia de metadatos, debe crear una nueva base de datos y exportar el contenido de la base de datos existente a la nueva.

DBCC CHECKDB no puede reparar este error

Este error no se puede reparar. Si no puede restaurar la base de datos a partir de una copia de seguridad, póngase en contacto con el servicio de soporte técnico y atención al cliente (CSS) de Microsoft.

No actualice manualmente las tablas del sistema

No realice actualizaciones manuales de las tablas del sistema. SQL Server no admite los cambios manuales en las bases de datos del sistema. Si actualiza una tabla del sistema de una base de datos de SQL Server, se registran los eventos siguientes:

Cuando se actualiza manualmente una tabla del sistema

Mensaje 17659: Advertencia: es posible que no se haya mantenido el identificador de id<>. de tabla del sistema directamente en el identificador <> de la base de datos y es posible que no se haya mantenido la coherencia de la memoria caché. Debe reiniciar SQL Server.

Inicio de una base de datos con una tabla del sistema que se ha actualizado manualmente

Mensaje 3859: Advertencia: El catálogo del sistema se actualizó directamente en el identificador> de la <base de datos, más recientemente en date_time

cuando se ejecuta el comando DBCC_CHECKDB después de actualizar manualmente una tabla del sistema

Mensaje 3859: Advertencia: el catálogo del sistema se actualizó directamente en el id<>. de la base de datos, más recientemente en date_time.

Consulte también

Tablas base del sistema