none
Erro ao Executar DBCC CHECKDB - Msg 9021 - Possibly tempdb out of space or a system table is inconsistent. (Alguém pode ajudar?) RRS feed

  • Pergunta

  • Alguém pode ajudar o que fazer, já rodei DBCC CHECKDB e aparece essa mensagem:

    Msg 8921, Level 16, State 1, Line 1

    Check terminated. A failure was detected while collecting facts. Possibly tempdb out of space or a system table is inconsistent. Check previous errors.

    Msg 7105, Level 22, State 9, Line 1

    Database ID 10, page (1:154456), slot 0 for LOB data type node does not exist. This is usually caused by transactions that can read uncommitted data on a data page. Run DBCC CHECKTABLE.

     


    Cleilson S. Gomes
    domingo, 5 de junho de 2011 14:58

Respostas

  • Eu fiz o restore da página, porém o problema é que não tenho os backups dos logs para poder restaurar todo o estado do banco.

    Pessoal, muito obrigado pela ajuda, resolvi o problema executando o CHECKTABLE em todas as tabelas, como tinha dito, em uma tabela em especial isso não foi possível, então tive que criar um banco de dados novo e lá importar todas as tabelas, views, procedures, triggers e etc, tive perda de dados executando o CHECKTABLE, porém isso foi o preço pago por não ter identificado o problema antes e não ter os backups dos logs.

    Abraços e muito obrigado.


    Cleilson S. Gomes
    • Marcado como Resposta Cleilson Gomes segunda-feira, 6 de junho de 2011 23:20
    segunda-feira, 6 de junho de 2011 23:20

Todas as Respostas

  • Você já se verificou o tamanho do TempDb?

    Dê um sp_SpaceUsed no TempDb.

    Além disso, a mensagem fala sobre executar um DBCC CheckTable antes. Tente isso também.

     


    Roberson Ferreira - Database Developer

    Se esta sugestão for útil, por favor, classifique-a como útil.
    Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta.

    domingo, 5 de junho de 2011 18:08
  • O tembdb está pequeno, o problema de executar o CheckTable é saber quais tabelas estão danificada..

    Aguardo...


    Cleilson S. Gomes
    segunda-feira, 6 de junho de 2011 01:02
  • Cleilson,

     

    Alem do checktable conforme dito pelo Roberson, veja este link:

    http://www.sqlservercentral.com/articles/Corruption/65804/

     

    Verifique alem do tamanho, se a mesma possui espaço em disco sulficiente, lembre-se que a tempdb cresce conforme sua utilização, existe alguma transação muito grande que voce esta efetuando que possa ter ocupado todo o espaço?


    Oracle OCA11g, MCC 2011! Dicas e novidades: www.fabrizziocaputo.wordpress.com
    segunda-feira, 6 de junho de 2011 02:05
    Moderador
  • Cleilson, boa tarde!

     

    O CHECKDB utiliza o tempdb para a verificação das páginas do banco de dados. Como o Fabrizzio disse verifique a tempdb, restrição de crescimento e espaço em disco e para achar essa tabela que está dando dor de cabeça, faça o seguinte:

    Possivelmente você terá uma entrada desse  erro na suspect pages, então faça:

     

     

    SELECT  *

    FROM msdb.dbo.suspect_pages

     

    Terá como resultado 

    10 , 1, 154456

     

    Agora para achar a tabela faça o seguinte

    --Visualização do DBCC Page

    DBCC TRACEON (3604)

     

     

    --Verificação de Erro

    DBCC PAGE (10 , 1, 154456,1)

     


    Navegue na página e ache o Metadata: ObjectId = ''. Achando o o object_id faça

    USE DatabaseName

    GO

    SELECT OBJECT_NAME('')

     

    --CheckTable

    USE DatabaseName

    GO

    DBCC CHECKTABLE ("NomeTabela") WITH PHYSICAL_ONLY

     

     Poste o resultado aqui.

     

    Abs

     


     

     


    Luan.Moreno MCP || MTA ||MCTS SQL Server 2005,2008 Blog: http://luanmorenodba.wordpress.com Twitter: @luansql
    segunda-feira, 6 de junho de 2011 15:50
  • Luan, após executar o que você passou, que inclusive já tinha tentado, aparece a mensagem a baixo:

    Msg 7105, Level 22, State 9, Line 2

    The Database ID 7, Page (1:154456), slot 0 for LOB data type node does not exist. This is usually caused by transactions that can read uncommitted data on a data page. Run DBCC CHECKTABLE.


    Cleilson S. Gomes
    segunda-feira, 6 de junho de 2011 21:25
  • Cleiolson, 

     

    Cara você pode tentar fazer o restore dessa página, restaura esse banco de dados em outro ambiente e faz esse teste e depois roda o DBCC CHECKDB novamente


    Luan.Moreno || Especialista SQL Server || MCTS 2005,2008 Blog: http://luanmorenodba.wordpress.com Twitter: @luansql
    segunda-feira, 6 de junho de 2011 22:08
  • Eu fiz o restore da página, porém o problema é que não tenho os backups dos logs para poder restaurar todo o estado do banco.

    Pessoal, muito obrigado pela ajuda, resolvi o problema executando o CHECKTABLE em todas as tabelas, como tinha dito, em uma tabela em especial isso não foi possível, então tive que criar um banco de dados novo e lá importar todas as tabelas, views, procedures, triggers e etc, tive perda de dados executando o CHECKTABLE, porém isso foi o preço pago por não ter identificado o problema antes e não ter os backups dos logs.

    Abraços e muito obrigado.


    Cleilson S. Gomes
    • Marcado como Resposta Cleilson Gomes segunda-feira, 6 de junho de 2011 23:20
    segunda-feira, 6 de junho de 2011 23:20