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.