O comandos DBCC basicamente se dividem em 4 categorias descritas a seguir:
1. Comandos de Manutenção
Fazem alguma manutenção preventiva ou corretiva no banco de dados. Alguns comandos desta categoria:
DBCC DBREINDEX Reconstrói os índices de uma tabela. Muito útil para manutenção de índices.
DBCC DBREPAIR Apaga um banco corrompido. Use DRP DATABASE ao invés de DBCC DBREPAIR.
DBCC INDEXDEFRAG Desfragmenta um ou mais índices de uma tabela. Melhora a performance do índice.
DBCC SHRINKDATABASE Diminui o tamanho de todos os arquivos de dados ou Log de um banco de dados até um certo tamanho.
DBCC SHRINKFILE Diminui o tamanho de um arquivo específico de dados ou Log de um banco de dados até um certo tamanho.
DBCC UPDATEUSAGE Corrige erros de tamanho de dados retornados pela Stored Procedure sp_spaceused.
2. Comandos Gerais
Possuem diversas funcionalidades, como alocação de tabela na memória, ajuda sobre outros comandos DBCC e ‘pinagem’ de tabela. Comandos:
DBCC (FREE) Descarrega da memória uma DLL que possui alguma Extend Stored Procedure associada a ela.
DBCC HELP Retorna a sintaxe de algum outro comando DBCC
DBCC PINTABLE ‘Pina’ a tabela , ou seja , faz o SQL Server não liberar da memória algumas informações de uma tabela. Se utilizado com cuidado , há ganho de performance.
DBCC UNPINTABLE Faz o SQL Server liberar da memórias algumas informações de uma tabela que foi ‘pinada’ como comando DBCC PINTABLE.
DBCC ROWLOCK Simplesmente incluída por compatibilidade. A funcionalidade que este comando proporcionava já é embutida automaticamente no SQL Server 2000
DBCC TRACEON Habilita um flag de trace que é necessário para outros comandos DBCC.
DBCC TRACEOFF Desabilita um flag de trace setado como comando DBCC TRACEON
3. Comandos de Status
Fazem algumas verificações de algumas configurações do banco de dados. Comandos:
DBCC INPUTBUFFER Mostra o último comando enviado por um processo ( usuário ) no SQL Server. É parecido com o trace que o Profiler mostra , porém limitado.
DBCC OUTPUTBUFFER Mostra o output atual que o banco retornou para um processo ( usuário ) no SQL Server. O resultado retornado é em hexadecimal…
DBCC OPENTRAN Mostra informações sobre a transação mais velha ( mais tempo executando ) em um banco de dados.
DBCC PROCCACHE Mostra informações sobre o Procedure Cache.
DBCC SHOWCONTIG Mostra várias informações sobre os índices de uma tabela , inclusive o nível de fragmentação do índice.
DBCC SHOW_STATISTICS Mostra as informações sobre as estatísticas de uma tabela. Estatísticas são muito importantes para a melhora de performance.
DBCC SQLPERF Informações sobre tamanho do Log dos bancos de dados.
DBCC TRACESTATUS Mostra a situação dos flags de trace que foram setados com o DBCC TRACEON. Estes traces controlam configurações internas do SQL Server
DBCC USEROPTIONS Mostra várias informações referentes à conexão do usuário.
4. Comandos de validação
Checagem da “saúde” de alguns objetos do banco de dados como tabelas, valores das colunas IDENTITY e constraints. Comandos:
DBCC CHECKALLOC Verifica o espaço para as estruturas de alocações internas do SQL Server. Permite alguns reparos em caso de erro.
DBCC CHECKCATALOG Somente checa a consistência de algumas tabelas de sistema do SQL Server ( que compõem o Database Catalog ). Não faz reparos
DBCC CHECKCONSTRAINTS Checa os relacionamentos de uma determinada constraint no banco de dados. Não faz reparos.
DBCC CHECKDB Verifica erros de alocação e de consistência em vários objetos do banco de dados. Pode efetuar reparos importantes em caso de erro.
DBCC CHECKFILEGROUP Muito parecido com o DBCC CHECKDB , porém só faz a verificação no nível do filegroup de um database. Não faz reparos
DBCC CHECKIDENT Chega e corrige , caso necessário , valores de colunas que possuem a propriedade IDENTITY. Pode inclusive resetar o valor inicial ( seed ) da coluna que possui a propriedade IDENTITY.
DBCC CHECKTABLE Checa e corrige a integridade das páginas de dados , índices , ntext , text e image para uma tabela ou uma indexed view
DBCC NEWALLOC Idêntica à DBCC CHECKALLOC. Foi mantida por compatibilidade.