Vou compartilhar minha experiência sobre como consegui recuperar meu banco de dados SQL do modo SUSPECT.
Problema em mãos
Cerca de uma semana atrás, eu estava inserindo algumas entradas no banco de dados SQL. No entanto, o processo foi interrompido devido a falha de energia e retornou com o banco de dados do servidor SQL no modo SUSPECT. Então, não consegui acessar ou usar o banco de dados.
O que eu fiz para realizar a recuperação do banco de dados SQL?
Inicialmente, verifiquei o log de erros do SQL em páginas suspeitas e descobri que o arquivo de log transacional do banco de dados estava corrompido. Em seguida, realizei várias tentativas de recuperação para extrair dados do banco de dados SQL. Tentei restaurar o banco de dados do backup (que não testei por um tempo). Infelizmente, até o backup estava corrompido. Agora que foi um grande revés para mim.
Como último recurso, coloquei o banco de dados no modo EMERGENCY para acessar o banco de dados marcado como SUSPECT. Depois que o banco de dados foi definido no estado EMERGENCY, executei o comando DBCC CHECKDB que retornou a opção repair_allow_data_loss como o nível mínimo de reparo para os erros encontrados. O uso de DBCC CHECKDB com a opção repair_allow_data_loss resultou em perda de consistência transacional.
A pressão para restaurar o banco de dados ao seu estado original estava aumentando e, portanto, decidi optar por uma ferramenta de terceiros para o trabalho. Lembro-me de ler em alguns fóruns sobre o software Stellar Repair for MS SQL, criado especificamente para reparar e recuperar arquivos de banco de dados SQL corrompidos. Decidi dar a esta ferramenta de recuperação de SQL uma tentativa.
Como funciona o Stellar Repair for MS SQL?
Os requisitos de software eram mínimos:
Processador: Classe Pentium
RAM: 2 GB
Espaço Livre: 250 MB
SO: Windows 10/8.1/8.0/7/Vista/Windows Server 2012/2008 R2/2008
Primeiro, baixe e instale o software em seu sistema. Uma vez instalado, inicie o software e siga estas etapas para realizar a recuperação do banco de dados SQL:
Etapa 1: O software solicitará que você pare o SQL Server e copie o banco de dados para um local diferente. Reinicie o servidor e para reparar a cópia do banco de dados, clique em OK .
Na tela principal do software, procure o arquivo de banco de dados (.mdf) que deseja reparar na janela Selecionar banco de dados.
Observação :Se você não souber o local do arquivo do banco de dados, use a Pesquisar opção para localizar o arquivo MDF. Além disso, certifique-se de verificar 'Incluir registros excluídos' caixa de seleção se você deseja recuperar objetos excluídos também.
Etapa 2: Depois que o arquivo for selecionado, clique em Reparar para começar a reparar o arquivo corrompido. O software exibirá uma barra de progresso para mantê-lo informado sobre o tempo que o software Stellar Repair for MS SQL leva para corrigir o problema de banco de dados.
Etapa 3: Depois que o arquivo for reparado com êxito, uma caixa de diálogo será exibida informando que os arquivos de banco de dados SQL selecionados foram reparados com êxito.
Observação: O software pode não detectar um arquivo de banco de dados SQL altamente corrompido. No entanto, você pode tentar selecionar sua versão do MS SQL manualmente na caixa de diálogo, conforme mostrado abaixo:
A seleção de uma versão inválida exibirá uma mensagem indicando que você selecionou uma versão inadequada do arquivo. Portanto, certifique-se de escolher a versão apropriada para prosseguir com o processo de reparo.
Etapa 4: Na caixa de diálogo Reparar Concluído, clique em OK e o software fornecerá uma visualização de objetos de banco de dados recuperáveis.
Etapa 5: Para salvar os dados recuperados, clique no botão Salvar no menu inicial. Isso abrirá a caixa de diálogo Salvar banco de dados. Preencha os detalhes necessários para salvar a cópia recuperada do arquivo do banco de dados SQL (.mdf) e clique em Salvar.
O arquivo de banco de dados será salvo no local selecionado.
Alguns recursos importantes do Stellar Repair for SQL:
- Permite que os usuários salvem os resultados da verificação do banco de dados SQL para retomar a recuperação a qualquer momento
- Visualiza objetos recuperáveis
- Permite salvar o arquivo reparado em vários formatos de arquivo, como HTML, XLS e CSV
- Lida com todos os tipos de erros comuns de corrupção do banco de dados SQL, incluindo 3414, 8942, corrupção de índice clusterizado ou não clusterizado, erro de consistência do banco de dados e muito mais.
- Suporta reparar um banco de dados SQL corrompido na máquina Linux host
Licenças de software:
Baixei a versão de avaliação gratuita do software para verificar sua eficácia. Uma vez satisfeito com os resultados, ativei sua versão técnica.
Além da versão técnica, duas outras licenças do software são Stellar Repair for MS SQL, Platinum Edition e Stellar Toolkit para MS SQL.
Palavras finais
O tempo de inatividade do banco de dados pode ser arriscado e resultar em potencial perda de dados. Embora existam soluções manuais disponíveis para lidar com erros do banco de dados SQL, a execução dessas soluções requer esforço e tempo consideráveis. Além disso, a consistência dos dados pode estar em risco. Mas você pode restaurar o banco de dados com 100% de integridade exigindo intervenção humana e tempo mínimos com a ajuda do software Stellar Repair for MS SQL do servidor SQL. Ele serve como uma ferramenta útil para todo o SQL que ajuda a restaurar o banco de dados do MS SQL Server inacessível ou corrompido em apenas algumas etapas simples.
Aqui está minha classificação do Stellar Repair for MS SQL (em uma escala de 1 a 5):
Categoria | Classificação | Revisar |
Instalação | 5 | Leva apenas alguns segundos para instalar |
Facilidade de uso | 5 | A IU do software é direta e simples de usar |
Recursos e funcionalidades | 5 | Esta é de longe a melhor ferramenta de recuperação de SQL que usei com todos os recursos necessários para reparar e recuperar o banco de dados MS SQL |
Desempenho | 4 | Muito impressionante |
Suporte técnico | 5 | Equipe de suporte 24 horas por dia, 5 dias por semana, que se esforça ao máximo para responder às consultas sem demora |