Otimizando o desempenho de DBCC CHECKDB

DBCC CHECKDB e instruções relacionadas geralmente devem ler cada página alocada do disco na memória, de forma que isso possa ser verificado. Executar DBCC CHECKDB quando já há muita atividade no sistema prejudica o desempenho de DBCC por dois motivos. Primeiro, menos memória está disponível e o Mecanismo de banco de dados do SQL Server é forçado a colocar em spool alguns dos dados internos de DBCC CHECKDB para o banco de dados tempdb. Segundo, DBCC CHECKDB tenta otimizar o modo de leitura dos dados do disco. Se uma carga de trabalho intensa estiver usando o mesmo disco, a otimização será fortemente reduzida, resultando em execução mais lenta.

Como o banco de dados tempdb reside no disco, o gargalo de operações de E/S prejudica o desempenho à medida que os dados são gravados de e para o disco. Independentemente da atividade do sistema, executar DBCC CHECKDB em grandes bancos de dados (em relação à memória disponível) faz com que o banco de dados tempdb seja colocado em spool. Portanto, o banco de dados tempdb deve ser colocado em um disco ou discos rápidos, como dispositivos RAID, separado dos bancos de dados de usuários. Para obter mais informações, consulte ALTER DATABASE (Transact-SQL) e RAID.

ObservaçãoObservação

A execução de DBCC CHECKDB executa DBCC CHECKTABLE automaticamente para cada tabela no banco de dados, como também DBCC CHECKALLOC e DBCC CHECKCATALOG, eliminando a necessidade de executá-las separadamente.

Consulte também

Referência