Aprenda as 14 melhores maneiras de reparar arquivos corrompidos do banco de dados do Access (MDB/ACCDB), incluindo ferramentas especializadas e opções de recuperação integradas e manuais.
Estatísticas mostram que 58% das organizações enfrentam corrupção de banco de dados pelo menos uma vez por ano. Um fato mais alarmante revela que 40% das empresas não conseguem se recuperar de perdas catastróficas de dados.
Seu banco de dados do Access pode parar de funcionar ou mostrar sinais de corrupção sem aviso. Essa situação cria imensa frustração. A boa notícia é que existem várias soluções para corrigir arquivos corrompidos do banco de dados do Access, reparar erros do banco de dados do MS Access e recuperar registros excluídos.
Vários métodos comprovados podem ajudar a reparar bancos de dados corrompidos do Access. Eles variam de ferramentas de reparo integradas a software de recuperação profissional. Este artigo o orienta por meio de correções rápidas para problemas menores e soluções avançadas que lidam com casos graves de corrupção.
Seu banco de dados precisa de atenção agora? Vamos dar uma olhada nas maneiras mais rápidas de consertá-lo passo a passo.
1. Compreendendo a corrupção do banco de dados Access
A corrupção do banco de dados acontece quando mudanças inesperadas alteram a estrutura original do seu banco de dados Access. Entender a natureza da corrupção se torna significativo antes de qualquer tentativa de reparo.
1.1 Causas comuns de corrupção de banco de dados
Vários motivos podem causar corrupção no banco de dados do Access:
- Falhas de hardware como discos rígidos defeituosos ou dispositivos de armazenamento com setores defeituosos criam corrupção no banco de dados.
- Problemas relacionados a software, como recuperação incorreta do sistema de arquivos ou conflitos de recursos, danificam arquivos de banco de dados.
- Fatores humanos, incluindo desconexão inadequada do banco de dados e acesso simultâneo de vários usuários, levam regularmente à corrupção.
- Desligamentos do sistema devido a quedas de energia ou travamentos enquanto o banco de dados permanece aberto causam danos substanciais. O banco de dados pode acabar em um estado inconsistente e ser corrompido.
- Interrupção da conexão de rede ao acessar o banco de dados remotamente.
- O tamanho do banco de dados é muito grande.
1.2 Dicas úteis para evitar corrupção do banco de dados Access
Em outro artigo, já fornecemos muitas dicas úteis para evitar a corrupção do banco de dados do Access, o que reduzirá a corrupção em 95%. No entanto, ainda precisamos de métodos eficazes para lidar com os casos restantes.
1.3 Mensagens de erro quando o banco de dados está corrompido
Quando você tenta abrir o banco de dados e vê as seguintes mensagens de erro, seu banco de dados pode estar corrompido:
- Formato de banco de dados não reconhecido 'filename.mdb' (erro 3343)
- O banco de dados 'filename.mdb' precisa ser reparado ou não é um arquivo de banco de dados. (Erro 2239)
- O mecanismo de banco de dados Microsoft Jet não pode abrir o arquivo 'filename.mdb'. Ele já foi aberto exclusivamente por outro usuário, ou você precisa de permissão para visualizar seus dados.
- O mecanismo de banco de dados do Microsoft Jet não conseguiu encontrar o objeto 'xxxx'. (Erro 3011)
- O(s) registro(s) não pode(m) ser lido(s); sem permissão de leitura em 'xxxx' (erro 3112)
- Não é possível abrir o banco de dados 'filename.mdb'. Pode não ser um banco de dados que seu aplicativo reconheça ou o arquivo pode estar corrompido. (Erro 3049)
- Você não tem as permissões necessárias para usar o objeto 'filename.mdb'. (Erro 3033)
- Tipo de dados de campo inválido (erro 3259)
- Erro inesperado 35012
- O Microsoft Access detectou que este banco de dados está em um estado inconsistente e tentará recuperá-lo. (Erro 9505)
- 'Id' não é um índice nesta tabela. ou 'AOIndex' não é um índice nesta tabela. (Erro 3800)
- Não é um marcador válido. (Erro 3159)
- Erro reservado (-####); não há mensagem para este erro. (Erro 2626/3000)
- Este arquivo pode não ser seguro se contiver código destinado a danificar seu computador.
- O banco de dados não pode ser aberto porque o projeto VBA contido nele não pode ser lido. (Erro 29081)
- As alterações solicitadas na tabela não foram bem-sucedidas porque criariam valores duplicados no índice, chave primária ou relacionamento. (Erro 3022)
1.4 Outros sinais de um banco de dados corrompido
Os seguintes indicadores também costumam indicar corrupção do banco de dados:
- O sistema trava ao tentar abrir o banco de dados
- Solicitações aleatórias de senha quando nenhuma senha existe
- Notificações de campo ausentes
- Mensagens de corrupção do projeto Visual Basic for Applications
1.5 Efeito nas operações comerciais
As consequências comerciais da corrupção de banco de dados são severas. Estudos recentes mostram que problemas de dados causam tempos de inatividade médios de 20 dias que interrompem substancialmente as operações normais. A perda de dados desencadeia esses problemas em cascata:
- Impacto financeiro
- As empresas dos EUA enfrentam violações de dados médiasosts de $ 8.60 milhões
- Os períodos de recuperação estendem-se até nove meses
- A recriação e recuperação de dados consomem recursos
- Interrupção Operacional
- Sistemas críticos param de funcionar
- Cronogramas de produtividade enfrentam atrasos
- A confiança e a lealdade do cliente sofrem
Travamentos de disco rígido ou falhas de sistema causam 67% dos incidentes de perda de dados. Esse fato enfatiza a necessidade de sistemas de backup fortes e procedimentos adequados de manutenção de banco de dados.
2. Usando DataNumen Access Repair para corrigir banco de dados Access corrompido
DataNumen Access Repair se destaca como uma das melhores ferramentas profissionais de reparo de banco de dados para consertar bancos de dados corrompidos do Access. Esta ferramenta robusta funciona com todas as versões do Access 95 a 2021, incluindo o Office 365.
2.1 Reparar um único arquivo
Para reparar um único arquivo de banco de dados do Access, faça o seguinte:
- Feche o Microsoft Access e outros aplicativos que possam modificar seu arquivo de banco de dados de origem.
- Selecione o arquivo de banco de dados de origem (.mdb, .accdb).
- Se o arquivo de origem for test.mdb/test.accdb, o nome do arquivo de saída será definido como test_fixed.mdb/test_fixed.accdb automaticamente. Você também pode alterar o nome do arquivo de saída manualmente (.mdb, .accdb).
- Clique no botão “StarBotão “Reparar”
- Após o processo de reparação, DataNumen Access Repair irá gerar um novo banco de dados.
2.2 Reparar um lote de arquivos
As organizações podem economizar tempo e esforço com o recurso de processamento em lote. Vários bancos de dados corrompidos podem ser enfileirados e processados sequencialmente por DataNumen, como abaixo:
- Vá para a aba “Reparo em lote”.
- Clique em “Adicionar arquivos” para adicionar vários arquivos de banco de dados do Access (.mdb, .accdb) a serem reparados.
- Clique no botão “StarBotão “Reparar”
- Todos os arquivos na lista serão reparados um por um
2.3 Recuperar tabelas e registros excluídos
A capacidade da ferramenta de recuperar conteúdo deletado é impressionante. Aqui está o processo de recuperação:
- Vá para a aba “Opções”
- Habilite “Recuperar tabelas excluídas” e “Recuperar registros excluídos” conforme abaixo:
- Vá até a aba “Reparar” e start reparando seu arquivo.
2.4 Recuperar Índices, Relações e Consultas
DataNumen recupera com sucesso vários objetos de banco de dados, como:
- Consultas SQL complexas (comandos Delete, Insert, Update)
- Relacionamentos e índices de tabela
Se você quiser recuperar esses objetos, faça o seguinte:
- Vá para a aba “Opções”
- Habilite “Recuperar índices”, “Recuperar relações” e “Recuperar consultas” conforme abaixo:
- Vá até a aba “Reparar” e start reparando seu arquivo.
2.5 Recuperar dados do Access do disco rígido, imagem de disco ou arquivos de backup
Os dados do Access podem ser recuperados diretamente de discos rígidos, imagens de disco ou arquivos de backup se você não tiver mais o banco de dados do Access, por exemplo:
- Você exclui o arquivo de banco de dados Access MDB/ACCDB permanentemente.
- Você formata o disco rígido.
- Falha no disco rígido.
- O disco virtual em VMWare ou Virtual PC está corrompido ou danificado.
- O arquivo de backup na mídia de backup está corrompido ou danificado e você não pode restaurar o arquivo de banco de dados Access MDB/ACCDB a partir dele.
- O arquivo de imagem de disco está corrompido ou danificado e você não pode recuperar seu arquivo do Access a partir dele.
Se você tiver a imagem do disco ou os arquivos de backup em mãos, você pode fazer o seguinte:
- Clique no botão “…” para selecionar o arquivo de origem.
- Na caixa de diálogo “Abrir arquivo”, selecione “Todos os arquivos (*.*)” como filtro.
- Selecione a imagem de disco ou o arquivo de backup como o arquivo de origem a ser reparado.
- Defina o arquivo de banco de dados fixo de saída e certifique-se de que sua extensão seja .mdb ou .accdb.
Se você deseja recuperar diretamente do disco rígido, você precisa usar DataNumen Disk Image para criar um arquivo de imagem de disco para o disco rígido:
- Selecione o disco rígido ou disco.
- Defina o nome do arquivo de imagem de saída.
- Clique em “StarBotão “Clonagem” para criar o arquivo de imagem de disco a partir do disco rígido/disco.
Depois de obter o arquivo de imagem do disco, você pode usar DataNumen Access Repair para recuperar dados dele.
2.6 Recuperar de Ransomware ou Vírus
DataNumen funciona excepcionalmente bem contra ataques de ransomware e infecções de vírus. Basta pegar o arquivo de banco de dados Access criptografado ou infectado como o arquivo corrompido de origem e repará-lo, você obterá os dados dele.
3. Usando DataNumen Data Recovery para recuperar banco de dados do Access
DataNumen Data Recovery é outra ótima ferramenta se o arquivo de banco de dados do Access estiver lost ou deletado.
3.1 Recuperar Lost ou Bancos de Dados Excluídos
Se o seu banco de dados Access estiver lost ou excluídos por vários motivos, você pode usar DataNumen Data Recovery para recuperá-lo:
- Start DataNumen Data Recovery.
- Selecione o disco rígido/unidade a ser escaneada.
- Clique no botão “OK”.
- DataNumen Data Recovery fará a varredura do disco rígido/unidade selecionada.
- Após o processo de verificação, se o banco de dados for recuperável, ele estará na lista.
- Selecione o banco de dados e clique no botão “Recuperar” para recuperá-lo para uma pasta.
3.2 Recuperar de arquivos de imagem de disco
Se você já tiver o arquivo de imagem de disco para o disco rígido/unidade, poderá recuperar o banco de dados diretamente do arquivo de imagem:
- Start DataNumen Data Recovery.
- Selecione “Digitalizar” > “Digitalizar arquivo de imagem” para digitalizar o arquivo de imagem.
- Os passos restantes são os mesmos do 3.1.
3.3 Reparar os bancos de dados recuperados
Às vezes, os bancos de dados do Access recuperados por DataNumen Data Recovery ainda estão corrompidos. Nesse caso, você pode usar DataNumen Access Repair para reparar novamente o banco de dados recuperado e obter dados dele.
4. Usando ferramentas de reparo de acesso integradas
O Microsoft Access tem várias ferramentas internas que ajudam a reparar bancos de dados corrompidos do Access. Essas soluções nativas podem corrigir problemas comuns de banco de dados sem nenhum software de terceiros.
4.1 Ferramenta Compactar e Reparar Banco de Dados
A ferramenta interna Compact & Repair é uma parte vital da manutenção do banco de dados que pode evitar muitos problemas. Esta ferramenta faz duas coisas – faz com que seus arquivos de banco de dados rodem melhor e corrige pequenos problemas de corrupção.
Veja como usar esta ferramenta:
- Start Acesso
- Feche todas as conexões ativas do banco de dados
- Vá para a aba Ferramentas de Banco de Dados
- Selecione “Ferramentas de Compactação e Reparo de Banco de Dados”
- Na caixa de diálogo “Banco de dados para compactar”, selecione o banco de dados a ser reparado.
- Clique no botão “Compactar”.
Executamos essa manutenção toda semana, especialmente em bancos de dados que veem muitas atualizações e exclusões. Isso mantém o desempenho ótimo e impede que os dados fiquem inchados.
Para mais informações, você também pode visitar o página oficial da Microsoft .
4.2 Função DAO DBEngine.CompactDatabase
A função DAO CompactDatabase nos dá mais controle sobre a manutenção do banco de dados do que a ferramenta interna. Este método nos permite automatizar o processo de reparo.
Esta função funciona muito bem com vários bancos de dados que precisam de manutenção regular. Ela cria uma cópia nova e otimizada do seu banco de dados e mantém todos os seus dados e objetos intactos.
Abaixo está o código VBA para reparar em lote todos os bancos de dados do Access em um diretório:
Opção Explícita ' Adicionar declarações de API do Windows Privado Declarar Função PtrSafe SHBrowseForFolder Lib "shell32" (lpbi Como BROWSEINFO) Como Longo Privado Declarar Função PtrSafe SHGetPathFromIDList Lib "shell32" (ByVal pidList Como Longo, ByVal lpBuffer Como String) Como Longo Privado Declarar Sub PtrSafe CoTaskMemFree Lib "ole32" (ByVal pvoid Como Longo) Privado Tipo BROWSEINFO hWndOwner Como Longo pidlRoot Como Longo pszDisplayName Como String lpszTitle Como String ulFlags Como Longo lpfnCallback Como Longo lParam Como Longo iImage Como Longo Tipo Final Privado Tipo ProcessStats SuccessCount Como Longo FailureCount Como Longo Tipo Final Público Sub CompactRepairDatabases() Dim fso Como Object Dim folder Como Object Dim file Como Object Dim folderPath Como String Dim stats Como ProcessStats ' Criar FileSystemObject Definir fso = CreateObject("Scripting.FileSystemObject") ' Mostrar diálogo do seletor de pastas folderPath = GetFolderPath() Se folderPath = "" Então MsgBox "Operação cancelada.", vbInformation Sair Sub Fim Se ' Inicializar estatísticas stats.SuccessCount = 0 stats.FailureCount = 0 ' Obter objeto de pasta Definir pasta = fso.GetFolder(folderPath) ' Processar cada arquivo na pasta Para cada arquivo em folder.Files ' Verificar se é um banco de dados do Access Se IsAccessDatabase(file.Name) Então Se CompactAndRepairDB(file.Path) Então stats.SuccessCount = stats.SuccessCount + 1 Caso contrário stats.FailureCount = stats.FailureCount + 1 Fim Se Fim Se Próximo arquivo ' Mostrar resultados MsgBox "Processo concluído!" rary caminho do arquivo tempFile = Left$(dbPath, InStrRev(dbPath, ".") - 1) & "_temp" & _ Mid$(dbPath, InStrRev(dbPath, ".")) ' Tenta compactar e reparar DBEngine.CompactDatabase dbPath, tempFile ' Exclui o original e renomeia o temp para o original Matar dbPath Nomear tempFile como dbPath CompactAndRepairDB = True Sair da função ErrorHandler: CompactAndRepairDB = False ' Limpa o arquivo temporário se ele existir Em caso de erro Continuar Próximo Se Dir(tempFile) <> "" Então Matar tempFile Fim da função
Para mais informações, você também pode visitar o página oficial da Microsoft .
4.3 Descompilando código VBA para corrigir banco de dados Access corrompido
Código VBA ruim pode causar problemas no banco de dados. O switch /decompile é uma ferramenta valiosa de solução de problemas no Microsoft Access que pode ajudar a resolver esses problemas. Embora chamado de “descompilar”, ele não é realmente “descompilar” no sentido tradicional – ele não converte código compilado de volta para código-fonte. Em vez disso, ele simplesmente limpa todas as versões compiladas enquanto preserva seu código VBA original, permitindo que o Access recompile tudo do zero.
Para descompilar um banco de dados, basta iniciar o Access com a opção /decompile no prompt de comando do Windows (cmd.exe):
"C:Arquivos de Programas (x86)Microsoft OfficerootOffice16MSACCESS.EXE" "C:UsuáriosccwDocumentosBancoDeDados.accdb" /decompile
Observação: substitua os caminhos do ACCESS.EXE e do seu banco de dados adequadamente.
Notas de segurança importantes:
- Sempre faça backup do arquivo do seu banco de dados antes de descompilar.
- Este é um recurso não documentado, então use-o com cautela.
- Isso não funcionará em arquivos .mde/.accde compilados (somente para .mdb/.accdb).
- Certifique-se de fechar todas as instâncias do Access antes de descompilar.
Após descompilar:
- Abra o banco de dados
- Abra o editor VBA
- Use o comando Debug – Compile para recompilar todos os módulos
- Salvar o banco de dados
Esse processo ajuda a eliminar a corrupção em código parcialmente compilado e pode resolver muitos erros misteriosos relacionados ao VBA em bancos de dados do Access.
4.4 Use o utilitário JetComp para reparar o banco de dados Access danificado
O utilitário JetComp é uma ferramenta autônoma para bancos de dados Access mais antigos. Você pode baixá-lo em aqui ou de página oficial da Microsoft .
Aqui estão seus benefícios e limites:
Principais benefícios:
- Ignora a abertura de bancos de dados antes da compactação.
- Melhor no manuseio de bancos de dados que o utilitário padrão Compactar e Reparar não consegue consertar.
- Funciona com bancos de dados protegidos por senha.
- Suporta bancos de dados em vários idiomas.
Limites:
- Suporta apenas bancos de dados *.mdb criados com o mecanismo de banco de dados Microsoft Jet 3.x e 4.x.
Essas ferramentas integradas são uma ótima opçãotarponto de partida para reparo do banco de dados. Se não funcionarem, você pode precisar de soluções mais avançadas como as abordadas anteriormente.
5. Técnicas de reparo manual de banco de dados
Utilitários integrados nem sempre corrigem bancos de dados corrompidos do Access, enquanto ferramentas profissionais precisam de dinheiro extra. Técnicas manuais podem ajudar a recuperar dados de bancos de dados danificados gratuitamente. Esses métodos levam mais tempo, mas geralmente produzem melhores resultados sem nenhuma taxa adicional.
5.1 Importando objetos para um novo banco de dados
O método import nos ajudou a salvar dados de bancos de dados corrompidos inúmeras vezes. Essa abordagem precisa de um banco de dados novo para transferir objetos sistematicamente do danificado. Aqui está o que funciona melhor:
- Crie um novo banco de dados Access em branco
- Feche a Tabela1 criada automaticamente
- Vá para a aba “Dados Externos”
- Clique em “Personalizar a Faixa de Opções…”
- Clique em “Novo grupo” para criar um novo grupo.
- Selecione “Access(Import Access Data)” e clique em “Add>>” para adicioná-lo ao novo grupo.
- Selecione “Acesso” no novo grupo.
- Navegue até seu banco de dados corrompido
- Selecione todos os objetos que deseja importar
- Clique em “Opções” e certifique-se de que “Relacionamentos” esteja marcado.
- Clique em “OK” para importar os objetos para seu novo banco de dados.
Abaixo está um tutorial em vídeo passo a passo:
Nota:
- Faça um backup antes de tentar qualquer processo de reparo.
- Se a importação falhar, tente novamente selecionando alguns dos objetos (em vez de todos os objetos) até que a importação seja bem-sucedida.
- Este método funciona melhor com corrupção leve, onde os objetos permanecem disponíveis.
5.2 Recuperando por meio de tabelas vinculadas
Links externos ajudam a recuperar dados quando importações diretas não funcionam. Essa técnica conecta-se ao banco de dados corrompido sem mover os dados.
Para criar links externos, basta seguir o mesmo procedimento do item 5.1, exceto que ao importar o banco de dados, você deve escolher “Vincular à fonte de dados criando uma tabela vinculada”:
Depois disso, o Access criará tabelas vinculadas no banco de dados atual, apontando para o banco de dados de origem corrompido:
Então você pode fazer o seguinte para recuperar as tabelas:
- Abra uma tabela vinculada.
- Se a tabela vinculada puder ser aberta, crie uma nova tabela com a mesma estrutura no novo banco de dados.
- Copie registros acessíveis em lote. Trabalhe com pequenos lotes de registros (50-100 por vez) para reduzir o risco de perda de dados durante a transferência.
- Cole na nova tabela.
- Teste cada registro após a transferência.
- Repita as etapas 1 a 5 para todas as tabelas vinculadas.
- Reconstruir relações e consultas
- Outros objetos, como formulários, macros, etc., podem ser feitos da mesma maneira.
Nossos testes mostram que essas técnicas manuais funcionam melhor quando:
- O banco de dados permanece parcialmente disponível, onde algumas tabelas e objetos ainda funcionam enquanto outros estão corrompidos.
- As ferramentas de reparo integradas não funcionaram
- Você precisa recuperar dados específicos
- A pressão do tempo não é um problema
Esses métodos manuais precisam de paciência e atenção cuidadosa. Correr nos reparos geralmente cria mais problemas. Não tenha pressa e mantenha cópias de segurança durante todo o processo de reparo.
6. Mais opções para reparar banco de dados Access corrompido
Além de todos esses métodos mencionados. Ainda há muitas ferramentas profissionais de reparo de acesso disponíveis. Nós coletamos e revisamos os melhores de uma lista.
7. Outras soluções para problemas de abertura de banco de dados do Access
Embora a corrupção de arquivos seja uma causa comum de falhas de abertura no Access, outros problemas técnicos também podem desencadear sintomas e mensagens de erro idênticos ou quase idênticos. Para confirmar se seu arquivo está realmente corrompido, você pode transferir o arquivo para um computador diferente em funcionamento e tentar abri-lo no Access.
Se o arquivo abrir com sucesso, a corrupção não é o problema. Em tais casos, o problema provavelmente vem do seu sistema local ou da instalação do Access. Tente as seguintes etapas de solução de problemas para resolver o erro no seu computador:
- Escritório de reparos
- Certifique-se de que sua versão do Access seja compatível com o banco de dados.
- Divida arquivos grandes de banco de dados.
- Verifique se o arquivo que você está tentando abrir é de uma fonte confiável. Por exemplo, verifique a localização do arquivo, especialmente se o banco de dados estiver sendo executado em um servidor.
- Verifique se os certificados de segurança de macro estão atualizados e atualize-os caso não estejam.
- Reduza a segurança da macro se estiver usando o tempo de execução do Access para executar o banco de dados em vez de instalar o software MS Access em sua máquina.
- Use um software antivírus atualizado para verificar se o arquivo está infectado por vírus ou malware.
8. Conclusão
A corrupção do banco de dados pode afetar severamente as operações comerciais. Nossa pesquisa mostra que várias soluções de reparo funcionam efetivamente. As organizações podem escolher entre softwares de recuperação profissionais como DataNumen ou ferramentas de Access integradas para restaurar seus bancos de dados danificados. Abaixo está um resumo:
DataNumen Access Repair ferramenta funciona melhor para casos graves de corrupção. Problemas menores podem ser corrigidos por ferramentas de reparo integradas. Técnicas de recuperação manual fornecem valor quando métodos gratuitos integrados não funcionam e você não quer pagar, embora eles levem mais tempo.
Seu banco de dados precisa de manutenção regular para prevenir a corrupção. Uma estratégia de backup completa ajuda a proteger seus dados. Programe operações de compactação e reparo de rotina. Monitore o desempenho do banco de dados consistentemente. Essas etapas preventivas e métodos de reparo protegerão seus dados valiosos e reduzirão o tempo de inatividade potencial.
Observe que uma ação rápida e as ferramentas certas determinam uma recuperação bem-sucedida do banco de dados. Esses métodos de reparo e backups regulares o prepararão para lidar com quaisquer desafios de corrupção de banco de dados que estejam por vir.
Introdução do autor:
Vivian Stevens é especialista em recuperação de dados em DataNumen, Inc., líder mundial em tecnologias de recuperação de dados. Saiba mais sobre o DataNumen.