Inexperiente: Requer conhecimento da interface de utilizador em computadores individuais.
Factores externos, tais como quebras ou flutuações de corrente, o encerramento incorrecto do Microsoft Access e falhas do disco ou da rede podem causar danos em ficheiros de base de dados. Os utilitários
Reparar e
Compactardo Microsoft Access são ferramentas úteis para recuperar e optimizar ficheiros de base de dados do Microsoft Access. Este artigo descreve como utilizar estas ferramentas, bem como alternativas adicionais para reparar um ficheiro de base de dados danificado.
Apesar de os passos descritos neste artigo serem, normalmente, bem sucedidos na recuperação de ficheiros de base de dados danificados, para proteger os seus dados deverá criar uma cópia de segurança do ficheiro de base de dados com a maior frequência possível.
O utilitário 'Reparar'
Pode utilizar o utilitário
Reparar para reparar bases de dados com determinados tipos de danos. O utilitário
Reparar tenta reparar apenas as tabelas, consultas e índices existentes na base de dados. Este utilitário não tenta recuperar formulários, relatórios, macros ou módulos danificados; no entanto, copia-os para a nova base de dados reparada.
NOTA: Só deve executar o comando
Reparar base de dados quando o motor de base de dados Microsoft Jet apresentar uma mensagem de erro indicando que o utilitário
Reparar deve ser executado. O comando
Reparar base de dados não deve ser executado sob mais nenhuma circunstância.
Utilitário 'Compactar'
O utilitário
Compactar elimina espaço vazio existente numa base de dados. Este utilitário cria uma nova base de dados de destino e copia cada objecto existente na base de dados antiga para a nova base de dados. Se optar por compactar a base de dados para o nome de base de dados original, em vez de o fazer para uma nova base de dados, o utilitário
Compactar cria uma base de dados temporária, exporta todos os objectos da base de dados original para a base de dados temporária, remove a base de dados original e muda o nome da base de dados temporária para o nome da base de dados original.
Recuperar uma base de dados danificada
Os passos seguintes descrevem um método geral para a reparação de uma base de dados danificada:
-
Se estiver a utilizar o Microsoft Access versão 2.0, obtenha o Microsoft Access 2.0 Service Pack se estiver a visualizar uma das seguintes mensagens de erro num ambiente multi-utilizador:
- Couldn't open SYSTEM.MDA
-ou-
- <Base de dados> is corrupt or is not a database file. Attempt to repair?
Para além de corrigir o problema acima mencionado, o Service Pack também inclui um utilitário Reparar melhorado. Para obter informações adicionais sobre o Service Pack, consulte os seguintes artigos na Microsoft Knowledge Base:
123589
(http://support.microsoft.com/kb/123589/
)
ACC2: Error Message "Couldn't Open SYSTEM.MDA"
123823
(http://support.microsoft.com/kb/123823/
)
ACC2: MS Access Version 2.0 Service Pack Questions and Answers
123588
(http://support.microsoft.com/kb/123588/
)
ACC2: Microsoft Access Repair Utility Enhanced
-
Efectue uma cópia de segurança do ficheiro de base de dados danificado (.mdb).
-
Elimine o ficheiro .ldb, se existir. O ficheiro .mdb correspondente deve ser fechado antes de se proceder à eliminação deste ficheiro.
O ficheiro .ldb é utilizado para determinar que registos estão bloqueados numa base de dados partilhada e por quem. Se uma base de dados for aberta para utilização partilhada, é criado um ficheiro .ldb com o mesmo nome do ficheiro de base da dados correspondente (.mdb). Por exemplo, se abrir (para utilização partilhada) a base de dados de exemplo Gourmet.mdb existente na pasta c:\Msoffice\Access, será automaticamente criado um ficheiro Gourmet.ldb na mesma pasta. No Microsoft Access 7.0 e 97, o ficheiro .ldb é automaticamente eliminado após o último utilizador ter saído da base de dados, com duas excepções: quando o último utilizador não tem permissões de acesso sobre a pasta que contém o ficheiro .mdb ou quando a base de dados está danificada.
Para obter informações adicionais sobre ficheiros .ldb, consulte os seguintes artigos na Microsoft Knowledge Base:
136128
(http://support.microsoft.com/kb/136128/
)
ACC: Introduction to .ldb Files (95/97)
109957
(http://support.microsoft.com/kb/109957/
)
ACC: Introduction to .ldb Files (1.x, 2.0)
-
Execute o utilitário Compactar do seguinte modo:
-
Se existir alguma base de dados aberta, feche-a.
-
Aponte para Utilitários de base de dados no menu Ferramentas e, em seguida, clique em Compactar base de dados.
No Microsoft Access 2.0 ou em versões anteriores, clique em Compact Database no menu File.
Após efectuar esta acção, examine a base de dados para ver se os danos foram reparados. Se os danos persistirem, prossiga com os passos seguintes.
-
Se os danos estiverem localizados numa tabela, consulta ou índice, utilize a ferramenta Reparar do seguinte modo:
-
Se existir alguma base de dados aberta, feche-a.
-
Aponte para Utilitários de base de dados no menu Ferramentas e, em seguida, clique em Reparar base de dados.
No Microsoft Access 2.0 ou em versões anteriores, clique em Repair Database no menu File.
-
Seleccione o ficheiro danificado na caixa de diálogo Reparar base de dados e, em seguida, clique em Reparar.
No Microsoft Access 2.0 ou em versões anteriores, introduza o nome do ficheiro danificado na caixa File Name e, em seguida, clique em OK.
Se a reparação for bem sucedida, será apresentada a seguinte mensagem:
No Microsoft Access 97:
A base de dados '<caminho><nome_base_de_dados>' foi reparada com êxito.
No Microsoft Access para Windows 95:
O Microsoft Access reparou a base de dados '<caminho><nome_base_de_dados>' com êxito.
No Microsoft Access 2.0 ou versões anteriores:
Repair of database '<path><database name>' completed successfully.
Se a reparação não tiver êxito, será apresentada uma mensagem que o informa do ocorrido. Isto significa que os danos ocorridos na tabela, consulta ou índice são tão graves que não podem ser corrigidos ou que os danos estão localizados num objecto que não é afectado pelo utilitário Reparar.
-
Se os danos estiverem localizados numa tabela e os passos anteriores não os tiverem conseguido corrigir, tente efectuar o seguinte procedimento:
-
A partir do Microsoft Access, exporte a tabela para um ficheiro ASCII (texto delimitado). Para obter mais informações sobre este tópico, efectue uma procura sobre a expressão texto delimitado e, em seguida, visualize o tópico exportar dados do Access utilizando o índice da ajuda do Microsoft Access.
-
Elimine quaisquer relações associadas a esta tabela e, em seguida, elimine a tabela da base de dados.
-
Compacte a base de dados.
-
Crie novamente a tabela e as relações desta.
-
Utilizando um processador de texto, examine o ficheiro ASCII para identificar dados danificados ou estranhos e remova esses registos. Guarde o ficheiro num formato de ficheiro de texto ASCII.
-
Importe o ficheiro ASCII para a tabela que acabou de criar. Para obter mais informações sobre este tópico, efectue uma procura sobre a expressão texto delimitado e, em seguida, visualize o tópico importar ou ligar utilizando o índice da ajuda do Microsoft Access.
-
Crie novamente quaisquer registos que tenha tido de eliminar.
-
Se os passos anteriores não conseguirem recuperar a base de dados danificada, tente criar uma nova base de dados e importar os objectos, um a um, da base de dados antiga para a nova. Em seguida, crie novamente as relações. Esta técnica resolve os problemas localizados nas tabelas de sistema danificadas existentes na base de dados.
-
Se os danos estiverem localizados num formulário ou relatório, podem estar relacionados com o formulário ou relatório propriamente dito ou com um ou mais controlos nele existente. Poderá eliminar o formulário ou relatório e importá-lo a partir da cópia de segurança da base de dados utilizando uma das seguintes opções:
-
Se os danos estiverem localizados no formulário ou relatório propriamente dito, crie um novo formulário ou relatório e, em seguida, copie os controlos do formulário ou relatório original.
-
Se os danos estiverem localizados num controlo existente no formulário ou relatório, crie um novo formulário ou relatório e, em seguida, crie novamente os controlos no novo formulário ou relatório. A Microsoft recomenda que crie novamente todos os controlos, porque não existe nenhum método para identificar os controlos danificados.
-
Se os danos estiverem localizados numa macro ou num módulo, podem estar relacionados com a macro ou o módulo propriamente dito ou com o respectivo conteúdo. Poderá eliminar a macro ou o módulo e importá-lo a partir da cópia de segurança da base de dados utilizando uma das seguintes opções:
-
Se os danos estiverem localizados na macro ou no módulo propriamente dito, crie uma nova macro ou módulo e, em seguida, copie o conteúdo da macro ou módulo original.
-
Os danos podem envolver caracteres não ASCII incorporados no módulo. Guarde o módulo como ficheiro de texto, remova quaisquer dados danificados ou estranhos e, em seguida, carregue o ficheiro de texto num módulo novo.
-
Se os danos estiverem localizados no conteúdo da macro ou do módulo, tem de criar uma macro ou módulo novo e, em seguida, de criar novamente o conteúdo da macro ou módulo original.
NOTA: Se estiver a utilizar o Microsoft Access 95 ou o Microsoft Access 97, tome em consideração transferir o utilitário Jetcomp.exe. Em alguns casos, este utilitário pode reparar bases de dados que, de outro modo, são impossíveis de recuperar. Este utilitário faz parte da actualização Microsoft Jet 3.5.
Para obter informações sobre como obter o Microsoft Jet 3.51, consulte o seguinte artigo na Microsoft Knowledge Base:
172733
(http://support.microsoft.com/kb/172733/
)
ACC97: Updated Version of Microsoft Jet 3.5 Available for Download
Se não conseguir reparar a base de dados através destes passos, é provável que a reparação dos danos não seja possível. Se este for o caso, deverá restaurar a última cópia de segurança da base de dados ou criar novamente a base de dados.
Como alternativa final, alguns consultores poderão fornecer um serviço de reparação de bases de dados do Microsoft Access. Devido ao facto de se tratar de um serviço especializado, o modo mais eficaz de localizar um consultor é colocar uma mensagem no newsgroup
Third Party and User Groups do Microsoft Access, cujo endereço é o seguinte:
microsoft.public.access.3rdpartyusrgrp
Para obter informações adicionais sobre os newsgroups do Microsoft Access na Internet, consulte o seguinte artigo na Microsoft Knowledge Base:
150057
(http://support.microsoft.com/kb/150057/
)
ACC: Microsoft Access Newsgroups Available on the Internet
Para obter mais informações sobre a reparação de bases de dados, escreva
reparar no
Assistente do Office, clique em
Procurar e, em seguida, clique para visualizar
Reparar uma base de dados danificada.