DBCC CHECKDB falha e encerra trabalho, mensagem de erro ambígua

3

Recebi um aviso de que um de nossos servidores (Cluster do SQL Server 2008 no Win Enterprise 2008 Cluster) DBCC CHECKDB para todos os bancos de dados falhou nas últimas quatro vezes em que foi executado. Nós não temos nenhum dado antes disso, mas não parece que tenha sido bem sucedido por algum tempo. Não há erros no arquivo de log apenas:

DBCC results for 'sys.sysxmlfacet'. [SQLSTATE 01000]
Msg 0, Sev 0, State 1: Unspecified error occurred on SQL Server. Connection may have been     terminated by the server. [SQLSTATE HY000]
There are 112 rows in 1 pages for object "sys.sysxmlfacet". [SQLSTATE 01000]

Eu executei um DBCC CHECKDB usando sp_MSForEachDB para obter resultados mais precisos e tive o mesmo erro no mesmo banco de dados, mas em um ponto separado:

DBCC results for 'NameValuePair_Greek_CI_AS'. [SQLSTATE 01000]
Msg 0, Sev 0, State 1: Unspecified error occurred on SQL Server. Connection may have     been terminated by the server. [SQLSTATE HY000]
There are 0 rows in 0 pages for object "NameValuePair_Greek_CI_AS". [SQLSTATE 01000]

Além disso, o log de erro informa que o DBCC foi concluído sem erros para este banco de dados.

Não consigo descobrir como rastrear esse problema ambíguo que só acontece nesse banco de dados entre as dezenas neste servidor. Qualquer ajuda é apreciada!

Editar para responder ao comentário:
Está sendo executado localmente por meio do SQL Server Agent. A única coisa que pensamos ser é que é em um cluster Win2008 que ele pode estar falhando, já que o banco de dados é grande demais agora (880 GB, mas não tão grande quanto muitos outros bancos executando o mesmo trabalho no mesmo disco / software) , mas não temos nada para mostrar que ocorre um failover que elimina problemas de conectividade. Um failover geralmente envia muitos sinalizadores e avisos que são difíceis de perder. Quebrar o banco de dados pode ser nossa próxima medida de solução de problemas, mas até lá estamos apenas tentando entender por que esse trabalho está sendo executado de forma tão estranha.

    
por Ddono25 20.04.2010 / 19:05

1 resposta

2

Se o log de erro diz que o CHECKDB foi concluído, ele o fez - essa é a última coisa que o CHECKDB faz antes de sair.

Isso parece um problema do cliente durante a impressão dos resultados. Quando eu estava escrevendo DBCC CHECKDB durante o desenvolvimento do SQL Server 2005, havia problemas funky às vezes com vários clientes, dependendo do número de linhas de saída - por exemplo, O SSMS só imprimirá os primeiros 1000 erros do CHECKDB, caso contrário, ficará sem memória

Algumas coisas para tentar:

  1. executado usando WITH ALL_ERRORMSGS, NO_INFOMSGS (é assim que sempre recomendo que as pessoas o executem)
  2. executá-lo usando sqlcmd em vez de SSMS

  3. execute-o a partir do SQLCMD e canalize os resultados para um arquivo usando o switch SQLCMD -o

Obrigado

    
por 09.05.2010 / 15:58