Usuário com melhor resposta
Erro ao acessar o Sistema

Pergunta
-
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
-
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
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
-
-
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
-
-