Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Detalhes
| Iteme | Valor |
|---|---|
| Nome do Produto | Servidor SQL |
| ID do Evento | 8992 |
| Origem do evento | MSSQLSERVER |
| Componente | SQLEngine |
| Nome simbólico | DBCC3_CHECK_CATALOG |
| Texto da mensagem | Verifique Catálogo Msg ERROR Level LEVEL State STATE: MESSAGE. |
Observação
8992 A mensagem de erro faz referência a outra mensagem específica (variando de 3851 a 3858) sobre a inconsistência real.
Explicação
DBCC CHECKCATALOG ou DBCC CHECKDB encontrou uma inconsistência nas tabelas de metadados do sistema para o objeto especificado. Ou seja, há uma inconsistência entre o ID do objeto gravado e o objeto especificado na mensagem de erro.
Este erro pode ocorrer quando uma ou mais tabelas do sistema foram atualizadas manualmente de uma forma que cria uma inconsistência nos metadados do sistema. Por exemplo, você pode excluir manualmente um objeto da sysobjects tabela sem remover linhas associadas em outras tabelas, como sysindexes e syscolumns.
Este erro pode ocorrer quando executado DBCC CHECKDB em um banco de dados que foi atualizado do SQL Server 2000 (8.x) para uma versão posterior do SQL Server. No SQL Server 2000 (8.x), DBCC CHECKDB não incluiu DBCC CHECKCATALOG funcionalidade, portanto, o erro não é detetado antes da atualização, a menos que DBCC CHECKCATALOG seja executado especificamente no banco de dados no SQL Server 2000 (8.x).
Poderá ver qualquer um dos seguintes erros juntamente com o erro 8992:
| ID da mensagem | Texto da mensagem |
|---|---|
3851 |
An invalid row (%ls) was found in the system table sys.%ls%ls. |
3852 |
Row (%ls) in sys.%ls%ls does not have a matching row (%ls) in sys.%ls%ls. |
3853 |
Attribute (%ls) of row (%ls) in sys.%ls%ls does not have a matching row (%ls) in sys.%ls%ls. |
3854 |
Attribute (%ls) of row (%ls) in sys.%ls%ls has a matching row (%ls) in sys.%ls%ls that is invalid. |
3855 |
Attribute (%ls) exists without a row (%ls) in sys.%ls%ls. |
3856 |
Attribute (%ls) exists but should not for row (%ls) in sys.%ls%ls. |
3857 |
The attribute (%ls) is required but is missing for row (%ls) in sys.%ls%ls. |
3858 |
The attribute (%ls) of row (%ls) in sys.%ls%ls has an invalid value. |
Ação do usuário
Soltar e recriar o objeto especificado
Se possível, solte e recrie o objeto especificado. Por exemplo, se o objeto for um procedimento armazenado ou um tipo definido pelo usuário, recriar o objeto pode resolver o problema.
Restaurar a partir da cópia de segurança
Se o problema não estiver relacionado ao hardware e um backup limpo conhecido estiver disponível, restaure o banco de dados a partir do backup. Essa ação só é aplicável se o backup não contiver o erro de metadados.
Exportar os dados para um novo banco de dados
Se o backup também contiver a inconsistência de metadados, você precisará criar um novo banco de dados e exportar o conteúdo do banco de dados existente para o novo banco de dados.
DBCC CHECKDB não pode reparar este erro
Este erro não pode ser reparado. Se não conseguir restaurar a base de dados a partir de uma cópia de segurança, contacte o Suporte da Microsoft.
Não atualizar manualmente as tabelas do sistema
Não faça atualizações manuais nas tabelas do sistema. O SQL Server não oferece suporte a alterações manuais em bancos de dados do sistema. Se você atualizar uma tabela do sistema em um banco de dados do SQL Server, os seguintes eventos serão registrados:
Quando uma tabela do sistema é atualizada manualmente
Msg 17659: Warning: System table ID <id> has been updated directly in database ID <id> and cache coherence may not have been maintained. SQL Server should be restarted.
Iniciar um banco de dados com uma tabela do sistema que foi atualizada manualmente
Msg 3859: Warning: The system catalog was updated directly in database ID <id>, most recently at date_time.
Executar o comando DBCC CHECKDB depois que uma tabela do sistema é atualizada manualmente
Msg 3859: Warning: The system catalog was updated directly in database ID <id>, most recently at date_time.