none
Erro ao acessar o Sistema RRS feed

  • Pergunta

  • Prezados Boa tarde!

    vejam o erro que esta ocorrendo ao acessar o sistema (ERP)

    General SQL error.
    Possible index corruption detected. Run DBCC CHECKDB.

    Minha versão do SQL 2008

    obrigado a todos

    sexta-feira, 12 de julho de 2013 18:40

Respostas

  • Ronnie,

    Se a corrupção é apenas no indice (Reze para não ser no cluster rs), voce pode executar um checkdb com repair_rebuild conforme o exemplo abaixo que foi executado sobre a base de dados chamado "Teste".

    ALTER DATABASE Teste SET SINGLE_USER WITH ROLLBACK IMMEDIATE
    GO
    
    DBCC CHECKDB('Teste', REPAIR_REBUILD)
    GO
    
    ALTER DATABASE Teste SET MULTI_USER WITH ROLLBACK IMMEDIATE
    GO

    Assim o SQL Server irá excluir e recriar o indice corrompido deixando a base sem corrupção novamente.

    Mas veja que para a execução de tal processo foi necessario deixar a base em single_user, ou seja, apenas a conexão de execução do checkdb poderá acessar a base e todos os outros usuarios ja conectados terão sua conexão cortada, caso sua base de dados seja grande poderá demorar um tempo. Recomendo se possivel então a execução deste comando em uma janela disponivel para uma indisponibilidade do sistema.


    Fabrizzio A. Caputo
    Certificações:
    MCT
    MCC
    Oracle OCA 11g
    MCTS SQL Server 2008 BI
    MCITP SQL Server 2008 Implementation and Maintenance
    MCITP SQL Server 2008 Developer
    ITIL V3 Foundation
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Email: fabrizzio.antoniaci@gmail.com

    • Sugerido como Resposta Alexandre Matayosi sexta-feira, 12 de julho de 2013 18:53
    • Marcado como Resposta Ronnie Von terça-feira, 16 de julho de 2013 14:45
    sexta-feira, 12 de julho de 2013 18:50
    Moderador
  • Ronnie,

    Ao rodar o DBCC CheckDB o Management Studio não retornou o nome da table que esta apresentando falhas no índice? Normalmente ele deve retornar, pois com isso, você terá a possibilidade de utilizar o comando Alter Index fazendo o processo de Rebuild do índice.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    • Marcado como Resposta Ronnie Von quinta-feira, 25 de julho de 2013 19:45
    quinta-feira, 25 de julho de 2013 14:46

Todas as Respostas

  • Ronnie,

    Se a corrupção é apenas no indice (Reze para não ser no cluster rs), voce pode executar um checkdb com repair_rebuild conforme o exemplo abaixo que foi executado sobre a base de dados chamado "Teste".

    ALTER DATABASE Teste SET SINGLE_USER WITH ROLLBACK IMMEDIATE
    GO
    
    DBCC CHECKDB('Teste', REPAIR_REBUILD)
    GO
    
    ALTER DATABASE Teste SET MULTI_USER WITH ROLLBACK IMMEDIATE
    GO

    Assim o SQL Server irá excluir e recriar o indice corrompido deixando a base sem corrupção novamente.

    Mas veja que para a execução de tal processo foi necessario deixar a base em single_user, ou seja, apenas a conexão de execução do checkdb poderá acessar a base e todos os outros usuarios ja conectados terão sua conexão cortada, caso sua base de dados seja grande poderá demorar um tempo. Recomendo se possivel então a execução deste comando em uma janela disponivel para uma indisponibilidade do sistema.


    Fabrizzio A. Caputo
    Certificações:
    MCT
    MCC
    Oracle OCA 11g
    MCTS SQL Server 2008 BI
    MCITP SQL Server 2008 Implementation and Maintenance
    MCITP SQL Server 2008 Developer
    ITIL V3 Foundation
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Email: fabrizzio.antoniaci@gmail.com

    • Sugerido como Resposta Alexandre Matayosi sexta-feira, 12 de julho de 2013 18:53
    • Marcado como Resposta Ronnie Von terça-feira, 16 de julho de 2013 14:45
    sexta-feira, 12 de julho de 2013 18:50
    Moderador
  • Obrigado Fabrizzio pela dica. 

    terça-feira, 16 de julho de 2013 14:46
  • Ronnie,

    Ao rodar o DBCC CheckDB o Management Studio não retornou o nome da table que esta apresentando falhas no índice? Normalmente ele deve retornar, pois com isso, você terá a possibilidade de utilizar o comando Alter Index fazendo o processo de Rebuild do índice.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    • Marcado como Resposta Ronnie Von quinta-feira, 25 de julho de 2013 19:45
    quinta-feira, 25 de julho de 2013 14:46
  • Obrigado a todos pela ajuda, conseguimos resolver.

    quinta-feira, 25 de julho de 2013 19:45
  • Obrigado!

    Consegui resolver um problema que estava acontecendo com a base de um cliente.

    terça-feira, 23 de setembro de 2014 01:09