Scopri i 14 migliori modi per riparare file di database Access corrotti (MDB/ACCDB), inclusi strumenti avanzati e opzioni di ripristino integrate e manuali.
Le statistiche mostrano che il 58% delle organizzazioni affronta la corruzione del database almeno una volta all'anno. Un fatto ancora più allarmante rivela che il 40% delle aziende non riesce a riprendersi da una perdita di dati catastrofica.
Il tuo database Access potrebbe smettere di funzionare o mostrare segni di corruzione senza preavviso. Questa situazione crea un'immensa frustrazione. La buona notizia è che esistono molteplici soluzioni per riparare file di database Access corrotti, riparare errori di database MS Access e recuperare record eliminati.
Diversi metodi comprovati possono aiutare a riparare database Access corrotti. Questi spaziano da strumenti di riparazione integrati a software di recupero professionale. Questo articolo ti guida attraverso soluzioni rapide per problemi minori e soluzioni avanzate che gestiscono casi di corruzione gravi.
Il tuo database ha bisogno di attenzione in questo momento? Diamo un'occhiata ai modi più rapidi per risolvere il problema passo dopo passo.
1. Comprendere la corruzione del database di Access
La corruzione del database avviene quando modifiche inaspettate alterano la struttura originale del database Access. Comprendere la natura della corruzione diventa importante prima di qualsiasi tentativo di riparazione.
1.1 Cause comuni di danneggiamento del database
Tre motivi principali causano most Corruzioni del database di Access. Guasti hardware come dischi rigidi difettosi o dispositivi di archiviazione con settori danneggiati creano corruzione del database. Problemi correlati al software come ripristino del file system non corretto o conflitti di risorse danneggiano i file del database. Fattori umani tra cui la disconnessione impropria del database e l'accesso multiutente simultaneo portano regolarmente alla corruzione.
Gli arresti del sistema dovuti a interruzioni di corrente o crash mentre il database rimane aperto causano danni sostanziali. Il database può finire in uno stato incoerente e corrompersi.
1.2 Suggerimenti utili per prevenire la corruzione del database di Access
In un altro articolo abbiamo già fornito molti suggerimenti utili per prevenire la corruzione del database di Access, che ridurranno il danneggiamento del 95%. Tuttavia, abbiamo ancora bisogno di metodi efficaci per gestire i casi rimanenti.
1.3 Segnali di un database danneggiato
Questi indicatori indicano comunemente la corruzione del database:
- Messaggi di errore imprevisti come "Formato database non riconosciuto"
- Richieste di password casuali quando non esiste alcuna password
- Errori "Microsoft Jet Database Engine non può aprire il file"
- Il sistema si blocca quando si tenta di aprire il database
- Notifiche di segnalibro non valido o di campo mancante
- Messaggi di danneggiamento del progetto Visual Basic for Applications
1.4 Effetto sulle operazioni aziendali
Le conseguenze aziendali della corruzione del database si dimostrano gravi. Studi recenti dimostrano che i problemi di dati causano tempi di inattività medi di 20 giorni che interrompono sostanzialmente le normali operazioni. La perdita di dati innesca questi problemi a cascata:
- Impatto finanziario
- Le aziende statunitensi affrontano una violazione media dei dati costs di $ 8.60 milioni
- I periodi di recupero si estendono fino a nove mesi
- La ricreazione e il recupero dei dati consumano risorse
- Interruzione operativa
- I sistemi critici smettono di funzionare
- Le tempistiche di produttività subiscono ritardi
- La fiducia e la lealtà del cliente ne risentono
I crash del disco rigido o i guasti di sistema causano il 67% degli incidenti di perdita di dati. Questo fatto sottolinea la necessità di sistemi di backup efficaci e di procedure di manutenzione del database adeguate.
2. Utilizzando DataNumen Access Repair per correggere il database di Access corrotto
DataNumen Access Repair si distingue come uno dei migliori strumenti professionali di riparazione database per riparare database Access corrotti. Questo strumento robusto funziona con tutte le versioni da Access 95 a 2021, incluso Office 365.
2.1 Riparare un singolo file
Per riparare un singolo file di database di Access, procedere come segue:
- Chiudere Microsoft Access e altre applicazioni che potrebbero modificare il file del database di origine.
- Selezionare il file del database di origine.
- Imposta il nome del file di output.
- Fare clic sul pulsante "StarPulsante "Ripara"
- Dopo il processo di riparazione, DataNumen Access Repair produrrà un nuovo database.
2.2 Riparare un batch di file
Le organizzazioni possono risparmiare tempo e fatica con la funzionalità di elaborazione batch. Più database corrotti possono essere messi in coda ed elaborati in sequenza da DataNumen, come sotto:
- Vai alla scheda "Riparazione batch".
- Fare clic su "Aggiungi file" per aggiungere più file di database di Access da riparare.
- Fare clic sul pulsante "StarPulsante "Ripara"
- Tutti i file nell'elenco verranno riparati uno per uno
2.3 Recupera tabelle e record eliminati
La capacità dello strumento di recuperare contenuti eliminati è impressionante. Ecco il processo di recupero:
- Vai alla scheda “Opzioni”
- Abilitare “Recupera tabelle eliminate” e “Recupera record eliminati” come di seguito:
- Vai alla scheda "Ripara" e start riparare il tuo file.
2.4 Recupera indici, relazioni e query
DataNumen recupera con successo vari oggetti del database come:
- Query SQL complesse (comandi Elimina, Inserisci, Aggiorna)
- Relazioni e indici delle tabelle
Se vuoi recuperare questi oggetti, procedi come segue:
- Vai alla scheda “Opzioni”
- Abilitare “Recupera indici”, “Recupera relazioni” e “Recupera query” come di seguito:
- Vai alla scheda "Ripara" e start riparare il tuo file.
2.5 Recupero da disco rigido, immagine disco o file di backup
I database di Access possono essere recuperati direttamente da dischi rigidi, immagini disco o file di backup se non si dispone più del database di Access, ad esempio:
- Si elimina definitivamente il file del database Access MDB/ACCDB.
- Formatti il disco rigido.
- Guasto del disco rigido.
- Il disco virtuale in VMWare o Virtual PC è corrotto o danneggiato.
- Il file di backup sul supporto di backup è corrotto o danneggiato e non è possibile ripristinare il file del database Access MDB/ACCDB da esso.
- Il file immagine del disco è corrotto o danneggiato e non è possibile recuperare il file di Access.
Se hai a portata di mano l'immagine del disco o i file di backup, puoi procedere come segue:
- Fare clic sul pulsante “…” per selezionare il file sorgente.
- Nella finestra di dialogo "Apri file", seleziona "Tutti i file (*.*)" come filtro.
- Selezionare l'immagine del disco o il file di backup come file di origine da riparare.
- Imposta il file di database fisso di output e assicurati che la sua estensione sia .mdb o .accdb.
Se si desidera effettuare il ripristino direttamente dal disco rigido, è necessario utilizzare DataNumen Disk Image per creare un file immagine disco per il disco rigido:
- Selezionare il disco rigido o il disco.
- Imposta il nome del file immagine di output.
- Fare clic su “StarPulsante "Clonazione" per creare il file immagine del disco dal disco rigido/disco.
Dopo aver ottenuto il file immagine del disco, è possibile utilizzare DataNumen Access Repair per recuperare i dati da esso.
2.6 Recupero da Ransomware o Virus
DataNumen funziona eccezionalmente bene contro gli attacchi ransomware e le infezioni da virus. Basta prendere il file del database Access crittografato o infetto come file corrotto di origine e ripararlo, otterrai i dati da esso.
3. Utilizzando DataNumen Data Recovery per recuperare il database di Access
DataNumen Data Recovery è un altro ottimo strumento se il file del database di Access è lost o cancellato.
3.1 Recupera Lost o database eliminati
Se il tuo database di Access è lost o cancellati per vari motivi, puoi utilizzare DataNumen Data Recovery per recuperarlo:
- Start DataNumen Data Recovery.
- Selezionare il disco rigido/l'unità da sottoporre a scansione.
- Fare clic sul pulsante "OK".
- DataNumen Data Recovery eseguirà la scansione del disco rigido/unità selezionato.
- Dopo il processo di scansione, se il database è recuperabile, sarà presente nell'elenco.
- Selezionare il database e fare clic sul pulsante "Recupera" per recuperarlo in una cartella.
3.2 Recupero da file immagine disco
Se hai già il file immagine del disco per il disco rigido/unità, puoi recuperare il database direttamente dal file immagine:
- Start DataNumen Data Recovery.
- Selezionare “Scansione” > “Scansione file immagine” per scansionare il file immagine.
- I passaggi rimanenti sono gli stessi del punto 3.1.
3.3 Riparare i database recuperati
A volte, i database di Access vengono recuperati da DataNumen Data Recovery sono ancora corrotti. In tal caso, puoi usare DataNumen Access Repair per riparare nuovamente il database recuperato e recuperarne i dati.
4. Utilizzo degli strumenti di riparazione di Access integrati
Microsoft Access ha diversi strumenti integrati che aiutano a proteggere i database dalla corruzione. Queste soluzioni native possono risolvere problemi comuni dei database senza alcun software di terze parti.
4.1 Strumento di compattazione e riparazione del database
Lo strumento integrato Compact & Repair è una parte essenziale della manutenzione del database che può prevenire molti problemi. Questo strumento fa due cose: fa funzionare meglio i file del database e corregge piccoli problemi di corruzione.
Ecco come utilizzare questo strumento:
- Chiudere tutte le connessioni attive al database
- Vai alla scheda Strumenti database
- Seleziona “Compatta e ripara strumenti database”
- Nella finestra di dialogo "Database da compattare", seleziona il database da riparare.
- Fare clic sul pulsante "Compatta".
Eseguiamo questa manutenzione ogni settimana, specialmente sui database che vedono molti aggiornamenti ed eliminazioni. Ciò mantiene le prestazioni ottimali e impedisce che i dati si gonfino.
4.2 Funzione DAO Motore DB.CompactDatabase
La funzione DAO CompactDatabase ci dà più controllo sulla manutenzione del database rispetto allo strumento integrato. Questo metodo ci consente di automatizzare il processo di riparazione.
Questa funzione funziona benissimo con più database che necessitano di manutenzione regolare. Crea una nuova copia ottimizzata del tuo database e mantiene intatti tutti i tuoi dati e oggetti.
Di seguito è riportato il codice VBA per riparare in batch tutti i database di Access in una directory:
Opzione Esplicita ' Aggiungi dichiarazioni API Windows Private Dichiara Funzione PtrSafe SHBrowseForFolder Lib "shell32" (lpbi As BROWSEINFO) As Long Private Dichiara Funzione PtrSafe SHGetPathFromIDList Lib "shell32" (ByVal pidList As Long, ByVal lpBuffer As String) As Long Private Dichiara Sub CoTaskMemFree Lib "ole32" (ByVal pvoid As Long) Private Tipo BROWSEINFO hWndOwner As Long pidlRoot As Long pszDisplayName As String lpszTitle As String ulFlags As Long lpfnCallback As Long lParam As Long iImage As Long End Tipo Private Tipo ProcessStats SuccessCount As Long FailureCount As Long End Tipo Public Sub CompactRepairDatabases() Dim fso As Object Dim folder As Object Dim file As Object Dim folderPath As String Dim stats As ProcessStats ' Crea FileSystemObject Imposta fso = CreateObject("Scripting.FileSystemObject") ' Mostra la finestra di dialogo di selezione delle cartelle folderPath = GetFolderPath() If folderPath = "" Then MsgBox "Operazione annullata.", vbInformation Exit Sub End If ' Inizializza le statistiche stats.SuccessCount = 0 stats.FailureCount = 0 ' Ottieni l'oggetto cartella Set folder = fso.GetFolder(folderPath) ' Elabora ogni file nella cartella For Ogni file In folder.Files ' Controlla se è un database di Access If IsAccessDatabase(file.Name) Then If CompactAndRepairDB(file.Path) Then stats.SuccessCount = stats.SuccessCount + 1 Else stats.FailureCount = stats.FailureCount + 1 End If End If File successivo ' Mostra i risultati MsgBox "Processo completato!" rary file path tempFile = Left$(dbPath, InStrRev(dbPath, ".") - 1) & "_temp" & _ Mid$(dbPath, InStrRev(dbPath, ".")) ' Tentativo di compattare e riparare DBEngine.CompactDatabase dbPath, tempFile ' Elimina l'originale e rinomina temp con l'originale Elimina dbPath Name tempFile As dbPath CompactAndRepairDB = True Exit Function ErrorHandler: CompactAndRepairDB = False ' Pulisci il file temporaneo se esiste On Error Resume Next If Dir(tempFile) <> "" Then Kill tempFile End Function
4.3 Decompilazione del codice VBA per correggere il database Access danneggiato
Un codice VBA non valido può causare problemi al database. L'opzione /decompile è un prezioso strumento di risoluzione dei problemi in Microsoft Access che può aiutare a risolvere questi problemi. Sebbene denominato "decompile", in realtà non è "decompilazione" nel senso tradizionale: non converte il codice compilato in codice sorgente. Invece, cancella semplicemente tutte le versioni compilate, preservando il codice VBA originale, consentendo ad Access di ricompilare tutto da zero.
Per decompilare un database, basta avviare Access con l'opzione /decompile dal prompt dei comandi di Windows (cmd.exe):
"C:Programmi (x86)Microsoft OfficerootOffice16MSACCESS.EXE" "C:UsersccwDocumentsDatabase.accdb" /decompile
Nota: sostituire di conseguenza i percorsi di ACCESS.EXE e del database.
Note importanti sulla sicurezza:
- Eseguire sempre il backup del file del database prima di decompilarlo.
- Questa è una funzionalità non documentata, quindi usatela con cautela.
- Non funziona con i file .mde/.accde compilati (solo per .mdb/.accdb).
- Assicurarsi di chiudere tutte le istanze di Access prima di decompilare.
Dopo la decompilazione:
- Apri il database
- Aprire l'editor VBA
- Utilizzare il comando Debug – Compila per ricompilare tutti i moduli
- Salvare il database
Questo processo aiuta a eliminare la corruzione nel codice parzialmente compilato e può risolvere molti misteriosi errori correlati a VBA nei database di Access.
4.4 Utilizzare l'utilità JetComp per riparare il database di Access danneggiato
L'utilità JetComp è uno strumento autonomo per i vecchi database Access. Puoi scaricarlo da qui or Sito Web Microsoft.
Ecco i suoi vantaggi e limiti:
Vantaggi principali:
- Salta l'apertura dei database prima della compattazione.
- Migliore gestione dei database che l'utilità standard Compatta e Ripara non riesce a riparare.
- Funziona con database protetti da password.
- Supporta database multilingua.
limiti:
- Supporta solo i database *.mdb creati con il motore di database Microsoft Jet 3.x e 4.x.
Questi strumenti integrati sono un ottimo starpunto di ripristino per la riparazione del database. Se non funzionano, potresti aver bisogno di soluzioni più avanzate come quelle trattate in precedenza.
5. Tecniche di riparazione manuale del database
Le utility integrate non sempre riparano i database Access corrotti, mentre gli strumenti professionali hanno bisogno di soldi extra. Le tecniche manuali possono aiutare a recuperare gratuitamente i dati dai database danneggiati. Questi metodi richiedono più tempo ma spesso danno risultati migliori senza costi aggiuntivi.
5.1 Importazione di oggetti in un nuovo database
Il metodo di importazione ci ha aiutato a salvare dati da database corrotti innumerevoli volte. Questo approccio necessita di un database nuovo per trasferire sistematicamente oggetti da quello danneggiato. Ecco cosa funziona meglio:
- Crea un nuovo database Access vuoto
- Chiudere la Tabella1 creata automaticamente
- Vai alla scheda “Dati esterni”
- Fare clic su "Personalizza la barra multifunzione..."
- Fare clic su "Nuovo gruppo" per creare un nuovo gruppo.
- Selezionare “Accesso (Importa dati di accesso)” e quindi fare clic su “Aggiungi >>” per aggiungerlo al nuovo gruppo.
- Selezionare “Accesso” dal nuovo gruppo.
- Sfoglia il tuo database danneggiato
- Seleziona tutti gli oggetti che vuoi importare
- Fare clic su "Opzioni" e assicurarsi che la casella "Relazioni" sia selezionata.
- Fare clic su "OK" per importare gli oggetti nel nuovo database.
Di seguito è riportato un video tutorial passo dopo passo:
Attenzione:
- Eseguire un backup prima di tentare qualsiasi procedura di riparazione.
- Se l'importazione non riesce, riprova selezionando alcuni oggetti (invece di tutti gli oggetti) finché l'importazione non riesce.
- Questo metodo funziona meglio in caso di corruzione lieve in cui gli oggetti rimangono disponibili.
5.2 Recupero tramite tabelle collegate
I link esterni aiutano a recuperare i dati quando le importazioni dirette non funzionano. Questa tecnica si collega al database corrotto senza spostare i dati.
Per creare collegamenti esterni, basta seguire la stessa procedura della 5.1, tranne che quando si importa il database, si deve scegliere "Collega all'origine dati creando una tabella collegata":
Dopodiché Access creerà tabelle collegate nel database corrente, puntando al database danneggiato di origine:
Quindi puoi procedere come segue per recuperare le tabelle:
- Aprire una tabella collegata.
- Se la tabella collegata può essere aperta, creare una nuova tabella con la stessa struttura nel nuovo database.
- Copia i record accessibili in batch. Lavora con piccoli batch di record (50-100 alla volta) per ridurre il rischio di perdita di dati durante il trasferimento.
- Incolla nella nuova tabella.
- Testare ogni record dopo il trasferimento.
- Ripetere i passaggi da 1 a 5 per tutte le tabelle collegate.
- Ricostruisci relazioni e query
- Altri oggetti, come moduli, macro, ecc., possono essere realizzati nello stesso modo.
I nostri test dimostrano che queste tecniche manuali funzionano meglio quando:
- Il database rimane in parte disponibile, anche se alcune tabelle e oggetti funzionano ancora, mentre altri sono danneggiati.
- Gli strumenti di riparazione integrati non hanno funzionato
- Hai bisogno di recuperare dati specifici
- La pressione del tempo non è un problema
Questi metodi manuali richiedono pazienza e attenzione. Correre nelle riparazioni spesso crea più problemi. Prenditi il tuo tempo e conserva copie di backup durante tutto il processo di riparazione.
6. Ulteriori opzioni per riparare il database di Access danneggiato
Oltre a tutti questi metodi menzionati, ci sono ancora molti strumenti di riparazione Access professionali disponibili. Abbiamo raccolto e recensito i migliori in una lista.
7. CONCLUSIONE
La corruzione del database può avere gravi ripercussioni sulle operazioni aziendali. La nostra ricerca dimostra che più soluzioni di riparazione funzionano in modo efficace. Le organizzazioni possono scegliere tra software di recupero professionali come DataNumen o strumenti di Access integrati per ripristinare i loro database danneggiati. Di seguito un riepilogo:
DataNumen Access Repair funziona meglio per casi di corruzione grave. Problemi minori possono essere risolti da strumenti di riparazione integrati. Le tecniche di recupero manuale forniscono valore quando i metodi gratuiti integrati non funzionano e non si desidera pagare, anche se richiedono più tempo.
Il tuo database necessita di una manutenzione regolare per prevenire la corruzione. Una strategia di backup completa aiuta a proteggere i tuoi dati. Pianifica operazioni di compattazione e riparazione di routine. Monitora le prestazioni del database in modo coerente. Questi passaggi preventivi e metodi di riparazione proteggeranno i tuoi preziosi dati e ridurranno i potenziali tempi di inattività.
Si noti che un'azione rapida e gli strumenti giusti determinano il recupero di successo del database. Questi metodi di riparazione e backup regolari ti prepareranno ad affrontare qualsiasi sfida di corruzione del database in futuro.
Introduzione dell'autore:
Vivian Stevens è un'esperta di recupero dati in DataNumen, Inc., leader mondiale nelle tecnologie di recupero dati. Scopri DataNumen.