Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Banco de Dados SQL do Azure
Instância Gerenciada de SQL do Azure
Verifica a consistência do catálogo dentro do banco de dados especificado. O banco de dados deve estar online.
Convenções de sintaxe Transact-SQL
Sintaxe
DBCC CHECKCATALOG
[
(
database_name | database_id | 0
)
]
[ WITH NO_INFOMSGS ]
Argumentos
| database_namedatabase_id | 0
É o nome ou a ID do banco de dados que contém o catálogo que terá a consistência verificada. Se não for especificado ou se 0 for especificado, o banco de dados atual será usado. Os nomes de banco de dados precisam estar em conformidade com as regras de identificadores.
COM NO_INFOMSGS
Suprime todas as mensagens informativas.
Comentários
Depois que o comando DBCC CHECKCATALOG é concluído, uma mensagem é gravada no log de erros do SQL Server. Se o comando DBCC for executado com êxito, a mensagem indicará uma conclusão bem-sucedida e o tempo de execução do comando. Se o comando DBCC parar antes de concluir a verificação devido a um erro, a mensagem indicará que o comando foi finalizado, um valor de estado e a duração da execução do comando. A tabela a seguir lista e descreve os valores de estado que podem ser incluídos na mensagem.
| Estado | Descrição |
|---|---|
| 0 | O número do erro 8930 foi gerado. Isso indica um dano de metadados que provocou a finalização do comando DBCC. |
| 1 | O erro número 8967 foi gerado. Ocorreu um erro interno de DBCC. |
| 2 | Ocorreu uma falha durante o reparo do banco de dados em modo de emergência. |
| 3 | Isso indica um dano de metadados que provocou a finalização do comando DBCC. |
| 4 | Uma declaração ou violação de acesso foi detectada. |
| 5 | Ocorreu um erro desconhecido que finalizou o comando DBCC. |
DBCC CHECKCATALOG executa vários testes de consistência entre tabelas de metadados do sistema.
DBCC CHECKCATALOG usa um instantâneo de banco de dados interno para fornecer a consistência transacional necessária ao executar essas verificações. Para saber mais, confira Exibir o tamanho do arquivo esparso de um instantâneo de banco de dados (Transact-SQL) e a seção Uso do instantâneo de banco de dados interno do DBCC em DBCC (Transact-SQL).
Se não for possível criar um instantâneo, DBCC CHECKCATALOG obterá um bloqueio de banco de dados exclusivo para adquirir a consistência necessária. Se qualquer inconsistência for detectada, ela não poderá ser reparada e o banco de dados deverá ser restaurado com base em um backup.
Observação
A execução de DBCC CHECKCATALOG em tempdb não realiza nenhuma verificação. Isso porque, devido a motivos de desempenho, os instantâneos de banco de dados não estão disponíveis em tempdb. Isso significa que não é possível obter a consistência transacional exigida. Reinicie o serviço do Mecanismo de Banco de Dados para resolver quaisquer problemas de metadados de tempdb.
Observação
DBCC CHECKCATALOG não verifica dados FILESTREAM. FILESTREAM armazena BLOBS (objetos binários grandes) no sistema de arquivos.
DBCC CHECKCATALOG também é executado como parte de DBCC CHECKDB.
Conjuntos de resultados
Se nenhum banco de dados for especificado, DBCC CHECKCATALOG retornará o seguinte:
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
Se AdventureWorks2025 for especificado como o nome do banco de dados, DBCC CHECKCATALOG retornará o seguinte:
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
Permissões
Requer a associação à função de servidor fixa sysadmin ou à função de banco de dados fixa db_owner.
Exemplos
O exemplo a seguir verifica a integridade do catálogo no banco de dados atual e no banco de dados AdventureWorks2025.
-- Check the current database.
DBCC CHECKCATALOG;
GO
-- Check the AdventureWorks database.
DBCC CHECKCATALOG (AdventureWorks2022);
GO