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.
Este artigo ajuda você a contornar o problema que ocorre quando você executa o DBCC CHECKDB comando em um computador que contém um banco de dados SQL Server.
Versão original do produto: SQL Server 2005 e versões posteriores Número original do KB : 960791
Sintomas
Considere o cenário a seguir.
Você restaura um banco de dados do Microsoft SQL Server a partir de um backup.
Você recebe erros durante o processo de restauração que o impedem de restaurar o banco de dados.
Você restaura com êxito o banco de dados do mesmo backup usando a opção CONTINUE_AFTER_ERROR.
Nesse cenário, ao executar o comando DBCC CHECKDB no computador que contém o banco de dados do SQL Server, você recebe uma mensagem de erro semelhante à seguinte:
Msg 8967, Nível 16, Estado 216, Nome< do servidor do servidor>, Linha 2
Ocorreu um erro interno no DBCC que impediu o processamento adicional. Entre em contato com o Suporte ao Cliente.
Resultados do DBCC para '<nome> do banco de dados'.Msg 8921, Nível 16, Estado 1, Nome do servidor do servidor<>, Linha 1
Verificação encerrada. Falha detectada ao coletar fatos. Possivelmente espaço insuficiente em tempdb ou uma tabela do sistema inconsistente. Verifique os erros anteriores.
Além disso, uma mensagem semelhante à seguinte pode ser exibida no log de erros do SQL Server:
2007-05-26 07:13:49.21 spid58 O DBCC encontrou uma página com um LSN maior que o LSN de fim de log (<LSN>) atual para seu instantâneo de banco de dados interno. Não foi possível ler a página (id do arquivo: id da página), '<nome do banco de dados' do banco de dados (ID do banco de dados, ID> do banco de dados), LSN = (<LSN>), tipo = 32, isInSparseFile = 1. Execute novamente este comando DBCC.
Causa
Esse problema ocorre se o DBCC CHECKDB comando não puder executar as verificações necessárias para confirmar a consistência do banco de dados. Essas verificações não puderam ser realizadas por vários motivos. Por exemplo, esse comportamento pode ocorrer se houver inconsistências fundamentais no banco de dados, como inconsistências de metadados ou corrupção de instantâneo do banco de dados. Mais informações sobre a causa específica desse erro podem ser determinadas examinando o estado diferente exibido na mensagem de erro. No cenário descrito na seção Sintomas , a mensagem de estado 216 indica que o DBCC CHECKDB comando lê uma página do instantâneo interno que tem um LSN (número de sequência de log) maior do que o LSN final do log. Esse comportamento pode ocorrer se você restaurar bancos de dados usando a opção CONTINUE_AFTER_ERROR .
Solução alternativa
Para contornar esse problema, use a sugestão TABLOCK com o comando DBCC CHECKDB. Isso permite que o DBCC CHECKDB comando termine sem gerar a mensagem de erro.
Para obter mais informações sobre dicas TABLOCK, consulte Dicas (Transact-SQL) - Tabela.