Lær 14 bedste måder at reparere korrupte Access-databasefiler (MDB/ACCDB), inklusive ekspertværktøjer, indbyggede og manuelle gendannelsesmuligheder.
Statistikker viser, at 58 % af organisationerne udsættes for databasekorruption mindst én gang årligt. En mere alarmerende kendsgerning afslører, at 40 % af virksomhederne undlader at komme sig efter katastrofalt datatab.
Din Access-database holder muligvis op med at fungere eller viser korruptionstegn uden varsel. Denne situation skaber enorm frustration. Den gode nyhed er, at der findes flere løsninger til at reparere korrupte Access-databasefiler, reparere MS Access-databasefejl og gendanne slettede poster.
Adskillige gennemprøvede metoder kan hjælpe med at reparere beskadigede Access-databaser. Disse spænder fra indbyggede reparationsværktøjer til professionel gendannelsessoftware. Dette stykke guider dig gennem hurtige løsninger til mindre problemer og avancerede løsninger, der håndterer alvorlige korruptionssager.
Har din database brug for opmærksomhed lige nu? Lad os se på de hurtigste måder at løse det trin for trin på.
1. Forståelse af Access-databasekorruption
Databasekorruption sker, når uventede ændringer ændrer din Access-databases oprindelige struktur. Forståelse af korruptionens natur bliver vigtig før ethvert reparationsforsøg.
1.1 Almindelige årsager til databasekorruption
Flere årsager vil forårsage korruption af Access-database:
- Hardwarefejl som defekte harddiske eller lagerenheder med dårlige sektorer skaber databasekorruption.
- Softwarerelaterede problemer såsom ukorrekt filsystemgendannelse eller ressourcekonflikter beskadiger databasefiler.
- Menneskelige faktorer, herunder ukorrekt afbrydelse af databasen og samtidig adgang til flere brugere, fører regelmæssigt til korruption.
- Systemnedlukninger på grund af strømafbrydelser eller nedbrud, mens databasen forbliver åben, forårsager betydelig skade. Databasen kan ende i en inkonsistent tilstand og blive beskadiget.
- Netværksforbindelsesafbrydelse ved fjernadgang til databasen.
- Databasestørrelsen er for stor.
1.2 Nyttige tips til at forhindre korruption af adgangsdatabase
I en anden artikel har vi allerede givet mange nyttige tips til at forhindre korruption af Access-databasen, hvilket vil reducere korruptionen med 95%. Vi har dog stadig brug for effektive metoder til at håndtere de resterende sager.
1.3 Fejlmeddelelser, når databasen er beskadiget
Når du prøver at åbne databasen og ser følgende fejlmeddelelser, kan din database være korrupt:
- Uigenkendt databaseformat 'filnavn.mdb' (fejl 3343)
- Databasen 'filnavn.mdb' skal repareres eller er ikke en databasefil. (Fejl 2239)
- Microsoft Jet-databasemotoren kan ikke åbne filen 'filnavn.mdb'. Den er allerede åbnet udelukkende af en anden bruger, eller du skal have tilladelse til at se dens data.
- Microsoft Jet-databasemotoren kunne ikke finde objektet 'xxxx'. (Fejl 3011)
- Post (er) kan ikke læses; ingen læsetilladelse på 'xxxx' (fejl 3112)
- Kan ikke åbne databasen 'filnavn.mdb'. Det er muligvis ikke en database, som din applikation genkender, ellers er filen muligvis korrupt. (Fejl 3049)
- Du har ikke de nødvendige tilladelser til at bruge objektet 'filnavn.mdb'. (Fejl 3033)
- Ugyldig feltdatatype (Fejl 3259)
- Uventet fejl 35012
- Microsoft Access har opdaget, at denne database er i en inkonsekvent tilstand, og vil forsøge at gendanne databasen. (Fejl 9505)
- 'Id' er ikke et indeks i denne tabel. eller 'AOIndex' er ikke et indeks i denne tabel. (Fejl 3800)
- Ikke et gyldigt bogmærke. (Fejl 3159)
- Reserveret fejl (- ####); der er ingen meddelelse om denne fejl. (Fejl 2626/3000)
- Denne fil er muligvis ikke sikker, hvis den indeholder kode, der var beregnet til at skade din computer.
- Databasen kan ikke åbnes, fordi VBA-projektet i den ikke kan læses. (Fejl 29081)
- De ændringer, du anmodede om til tabellen, lykkedes ikke, fordi de ville skabe duplikatværdier i indekset, den primære nøgle eller forholdet. (Fejl 3022)
1.4 Andre tegn på en beskadiget database
Følgende indikatorer peger også almindeligvis på databasekorruption:
- System går ned, når du forsøger at åbne databasen
- Tilfældig adgangskode beder om, når der ikke findes nogen adgangskode
- Manglende feltmeddelelser
- Visual Basic for Applications projekter korruptionsmeddelelser
1.5 Virkning på forretningsdrift
Databasekorruptionens forretningsmæssige konsekvenser viser sig at være alvorlige. Nylige undersøgelser viser dataproblemer forårsager gennemsnitlige nedetider på 20 dage, der væsentligt forstyrrer normal drift. Datatab udløser disse overlappende problemer:
- Økonomisk virkning
- Amerikanske virksomheder står over for et gennemsnitligt databrud costs på 8.60 millioner dollars
- Restitutionsperioder strækker sig op til ni måneder
- Genskabelse og gendannelse af data bruger ressourcer
- Driftsforstyrrelse
- Kritiske systemer holder op med at fungere
- Produktivitetstidslinjer står over for forsinkelser
- Kundens tillid og loyalitet lider
Harddisknedbrud eller systemfejl forårsager 67 % af datatabshændelser. Dette faktum understreger behovet for stærke backup-systemer og korrekte databasevedligeholdelsesprocedurer.
2. Ved brug af DataNumen Access Repair at rette korrupt adgangsdatabase
DataNumen Access Repair skiller sig ud som et af de bedste professionelle databasereparationsværktøjer til at reparere korrupte Access-databaser. Dette robuste værktøj fungerer med alle versioner fra Access 95 til 2021, inklusive Office 365.
2.1 Reparer en enkelt fil
For at reparere en enkelt Access-databasefil skal du gøre følgende:
- Luk Microsoft Access og andre programmer, der kan ændre din kildedatabasefil.
- Vælg kildedatabasefilen (.mdb, .accdb).
- Hvis kildefilen er test.mdb/test.accdb, vil outputfilens navn automatisk blive sat til test_fixed.mdb/test_fixed.accdb. Du kan også ændre outputfilnavnet manuelt (.mdb, .accdb).
- Klik på “Start Reparer” knap
- Efter reparationsprocessen, DataNumen Access Repair vil udskrive en ny database.
2.2 Reparer en batch af filer
Organisationer kan spare tid og kræfter med batchbehandlingsfunktionen. Flere korrupte databaser kan sættes i kø og behandles sekventielt af DataNumen, som nedenfor:
- Gå til fanen "Batchreparation".
- Klik på "Tilføj filer" for at tilføje flere Access-databasefiler (.mdb, .accdb), der skal repareres.
- Klik på “Start Reparer” knap
- Alle filerne på listen vil blive repareret én efter én
2.3 Gendan slettede tabeller og poster
Værktøjets evne til at gendanne slettet indhold er imponerende. Her er gendannelsesprocessen:
- Gå til fanen "Indstillinger".
- Aktiver "Gendan slettede tabeller" og "Gendan slettede poster" som nedenfor:
- Gå til fanen "Repair" og start reparere din fil.
2.4 Gendan indekser, relationer og forespørgsler
DataNumen gendanner med succes forskellige databaseobjekter såsom:
- Komplekse SQL-forespørgsler (Slet, Indsæt, Opdater kommandoer)
- Tabelrelationer og indekser
Hvis du vil gendanne disse objekter, skal du gøre følgende:
- Gå til fanen "Indstillinger".
- Aktiver "Recover indexes", "Recover relations" og "Recover queries" som nedenfor:
- Gå til fanen "Repair" og start reparere din fil.
2.5 Gendan adgangsdata fra harddisk, diskbillede eller sikkerhedskopifiler
Access-data kan gendannes direkte fra harddiske, diskbilleder eller backup-filer, hvis du ikke længere har Access-databasen, for eksempel:
- Du sletter Access MDB/ACCDB-databasefilen permanent.
- Du formaterer harddisken.
- Harddiskfejl.
- Den virtuelle disk i VMWare eller Virtual PC er beskadiget eller beskadiget.
- Sikkerhedskopieringsfilen på sikkerhedskopieringsmediet er korrupt eller beskadiget, og du kan ikke gendanne Access MDB/ACCDB-databasefilen fra den.
- Diskbilledfilen er korrupt eller beskadiget, og du kan ikke gendanne din Access-fil fra den.
Hvis du har diskbilledet eller backupfilerne ved hånden, kan du gøre som følger:
- Klik på knappen "..." for at vælge kildefilen.
- I dialogboksen "Åbn fil" skal du vælge "Alle filer (*.*)" som filter.
- Vælg diskbilledet eller backupfilen som kildefilen, der skal repareres.
- Indstil den faste output-databasefil, og sørg for, at dens filtypenavn er .mdb eller .accdb.
Hvis du vil gendanne direkte fra harddisken, skal du bruge DataNumen Disk Image for at oprette en diskimage-fil til harddisken:
- Vælg harddisken eller disken.
- Indstil outputbilledets filnavn.
- Klik på “Start Kloning"-knappen for at oprette diskbilledfilen fra harddisken/disken.
Når du har fået diskbilledfilen, kan du bruge DataNumen Access Repair at gendanne data fra det.
2.6 Gendan fra Ransomware eller Virus
DataNumen fungerer usædvanligt godt mod ransomware-angreb og virusinfektioner. Bare tag den krypterede eller inficerede Access-databasefil som den korrupte kildefil og reparer den, så får du dataene fra den.
3. Ved brug af DataNumen Data Recovery for at gendanne Access-databasen
DataNumen Data Recovery er et andet godt værktøj, hvis Access-databasefilen er lost eller slettet.
3.1 Gendan Lost eller slettede databaser
Hvis din Access-database er lost eller slettet af forskellige årsager, kan du bruge DataNumen Data Recovery for at få det tilbage:
- Start DataNumen Data Recovery.
- Vælg harddisken/drevet, der skal scannes.
- Klik på knappen “OK”.
- DataNumen Data Recovery vil scanne den valgte harddisk/drev.
- Efter scanningsprocessen, hvis databasen kan gendannes, vil den være på listen.
- Vælg databasen og klik på knappen "Gendan" for at gendanne den til en mappe.
3.2 Gendan fra diskbilledfiler
Hvis du allerede har diskbilledfilen til harddisken/drevet, så kan du gendanne databasen direkte fra billedfilen:
- Start DataNumen Data Recovery.
- Vælg “Scan” > “Scan billedfil” for at scanne billedfilen.
- De resterende trin er de samme som 3.1.
3.3 Reparer de gendannede databaser
Nogle gange er Access-databaserne gendannet af DataNumen Data Recovery er stadig korrupte. I et sådant tilfælde kan du bruge DataNumen Access Repair at reparere den gendannede database og hente data fra den.
4. Brug af indbyggede Access-reparationsværktøjer
Microsoft Access har flere indbyggede værktøjer, der hjælper med at reparere korrupte Access-databaser. Disse indbyggede løsninger kan løse almindelige databaseproblemer uden nogen tredjepartssoftware.
4.1 Kompakt og reparer databaseværktøj
Det indbyggede Compact & Repair-værktøj er en vital del af databasevedligeholdelse, der kan forhindre mange problemer. Dette værktøj gør to ting - det får dine databasefiler til at køre bedre og løser mindre korruptionsproblemer.
Sådan bruger du dette værktøj:
- Start Adgang
- Luk alle aktive databaseforbindelser
- Gå til fanen Databaseværktøjer
- Vælg "Compact & Repair Database Tools"
- I dialogboksen "Database at komprimere fra" skal du vælge den database, der skal repareres.
- Klik på knappen "Kompakt".
Vi kører denne vedligeholdelse hver uge, især på databaser, der ser masser af opdateringer og sletninger. Dette holder ydeevnen optimal og forhindrer data i at blive oppustede.
For mere information kan du også besøge officielle Microsoft-side .
4.2 DAO Funktion DBEngine.CompactDatabase
DAO CompactDatabase-funktionen giver os mere kontrol over databasevedligeholdelse end det indbyggede værktøj. Denne metode lader os automatisere reparationsprocessen.
Denne funktion fungerer godt med flere databaser, der kræver regelmæssig vedligeholdelse. Det opretter en ny, optimeret kopi af din database og holder alle dine data og objekter intakte.
Nedenfor er VBA-koden til batchreparation af alle Access-databaser under en mappe:
Valgmulighed Eksplicit ' Tilføj Windows API-erklæringer Private Declare PtrSafe-funktion SHBrowseForFolder Lib "shell32" (lpbi As BROWSEINFO) As Long Private Declare PtrSafe-funktion SHGetPathFromIDList Lib "shell32" (ByVal pidList As Long, ByVal As Long, ByVal Declaring lpBuffer CoTaskMemFree Lib "ole32" (ByVal pvoid As Long) Private Type BROWSEINFO hWndOwner As Long pidlRoot As Long pszDisplayName As String lpszTitle As String ulFlags As Long lpfnCallback As Long lParam As Long iBilled TypeCount As Long End Type Private As Long End Type Type Public Sub CompactRepairDatabases() Dim fso As Object Dim folder As Object Dim file As Object Dim folderPath As String Dim stats As ProcessStats ' Create FileSystemObject Set fso = CreateObject("Scripting.FileSystemObject") ' Vis mappevælger dialog folderPath = GetFolderPath() If folderPath = "" Derefter MsgBox "Operation annulleret.", vbInformation Exit Sub End If ' Initialize stats stats.SuccessCount = 0 stats.FailureCount = 0 ' Hent mappeobjekt Sæt mappe = fso.GetFolder(folderPath) ' Behandle hver fil i mappen For hver fil i mappe.Filer ' Tjek om det er en Access-database If IsAccessDatabase(file. Navn) Then If CompactAndRepairDB(file.Path) Then stats.SuccessCount = stats.SuccessCount + 1 Else stats.FailureCount = stats.FailureCount + 1 End If End If Next file ' Vis resultater MsgBox "Process completed!" rary filsti tempFile = Left$(dbPath, InStrRev(dbPath, ".") - 1) & "_temp" & _ Mid$(dbPath, InStrRev(dbPath, ".")) ' Forsøg på at komprimere og reparere DBEngine.CompactDatabase dbPath, tempFile ' Slet original og omdøb temp til original Kill dbPath Name tempFile Som dbPath CompactAndRepairDB = True Exit Function ErrorHandler: CompactAndRepairDB = False ' Ryd op i midlertidig fil, hvis den findes Ved fejl Genoptag Næste Hvis Dir(tempFile) <> "" Så Kill tempFile End Function
For mere information kan du også besøge officielle Microsoft-side .
4.3 Dekompilering af VBA-kode for at rette beskadiget adgangsdatabase
Dårlig VBA-kode kan forårsage databaseproblemer. Switchen /decompile er et værdifuldt fejlfindingsværktøj i Microsoft Access, som kan hjælpe med at løse disse problemer. Selvom det hedder "dekompilere", er det faktisk ikke "dekompilere" i traditionel forstand - det konverterer ikke kompileret kode tilbage til kildekode. I stedet rydder den simpelthen alle kompilerede versioner, mens den bevarer din originale VBA-kode, og lader Access genkompilere alt fra bunden.
For at dekompilere en database skal du blot starte Access med /decompile-switchen fra Windows-kommandoprompten (cmd.exe):
"C:Program Files (x86)Microsoft OfficerootOffice16MSACCESS.EXE" "C:UsersccwDocumentsDatabase.accdb" /dekompilere
Bemærk: Erstat stierne til ACCESS.EXE og din database i overensstemmelse hermed.
Vigtige sikkerhedsbemærkninger:
- Sikkerhedskopier altid din databasefil før dekompilering.
- Dette er en udokumenteret funktion, så brug den med forsigtighed.
- Dette virker ikke på kompilerede .mde/.accde-filer (kun for .mdb/.accdb).
- Sørg for at lukke alle forekomster af Access før dekompilering.
Efter dekompilering:
- Åbn databasen
- Åbn VBA-editoren
- Brug kommandoen Debug – Compile til at genkompilere alle moduler
- Gem databasen
Denne proces hjælper med at eliminere korruption i delvist kompileret kode og kan løse mange mystiske VBA-relaterede fejl i Access-databaser.
4.4 Brug JetComp Utility til at reparere beskadiget adgangsdatabase
JetComp-værktøjet er et selvstændigt værktøj til ældre Access-databaser. Du kan downloade den fra link. eller officielle Microsoft-side .
Her er dens fordele og begrænsninger:
Fordele:
- Springer åbning af databaser over før komprimering.
- Bedre til at håndtere databaser, som standardværktøjet Compact and Repair ikke kan rette.
- Arbejder med adgangskodebeskyttede databaser.
- Understøtter databaser med flere sprog.
grænser:
- Understøtter kun *.mdb-databaser oprettet med Microsoft Jet-databasemotor 3.x og 4.x.
Disse indbyggede værktøjer er en stor startingpunkt for databasereparation. Hvis de ikke virker, har du muligvis brug for mere avancerede løsninger som dem, der er dækket tidligere.
5. Manuelle databasereparationsteknikker
Indbyggede hjælpeprogrammer reparerer ikke altid korrupte Access-databaser, mens professionelle værktøjer har brug for ekstra penge. Manuelle teknikker kan hjælpe med at gendanne data fra beskadigede databaser gratis. Disse metoder tager længere tid, men giver ofte bedre resultater uden ekstra gebyr.
5.1 Import af objekter til ny database
Importmetoden har hjulpet os med at gemme data fra korrupte databaser utallige gange. Denne tilgang kræver en ny database for systematisk at overføre objekter fra den beskadigede. Her er hvad der virker bedst:
- Opret en ny, tom Access-database
- Luk den automatisk oprettede tabel1
- Gå til fanen "Eksterne data".
- Klik på "Tilpas båndet..."
- Klik på "Ny gruppe" for at oprette en ny gruppe.
- Vælg "Adgang (Importér adgangsdata)", og klik derefter på "Tilføj>>" for at tilføje det til den nye gruppe.
- Vælg "Adgang" fra den nye gruppe.
- Gennemse din korrupte database
- Vælg alle objekter, du vil importere
- Klik på "Indstillinger", og sørg for, at "Relationer" er markeret.
- Klik på "OK" for at importere objekterne til din nye database.
Nedenfor er en trin-for-trin video tutorial:
Bemærk:
- Lav en sikkerhedskopi, før du prøver nogen reparationsproces.
- Hvis importen mislykkes, skal du prøve igen ved at vælge nogle af objekterne (i stedet for alle objekter), indtil importen lykkes.
- Denne metode fungerer bedst med mild korruption, hvor objekter forbliver tilgængelige.
5.2 Gendannelse gennem sammenkædede tabeller
Eksterne links hjælper med at gendanne data, når direkte import ikke virker. Denne teknik forbinder til den beskadigede database uden at flytte dataene.
For at oprette eksterne links skal du blot følge samme procedure som 5.1, bortset fra at når du importerer databasen, skal du vælge "Link til datakilden ved at oprette en linket tabel":
Derefter vil Access oprette sammenkædede tabeller i den aktuelle database og pege på den korrupte kildedatabase:
Derefter kan du gøre som følger for at gendanne tabellerne:
- Åbn en sammenkædet tabel.
- Hvis den sammenkædede tabel kan åbnes, skal du oprette en ny tabel med samme struktur i den nye database.
- Kopier tilgængelige poster i batch. Arbejd med små partier af poster (50-100 ad gangen) for at reducere risikoen for tab af data under overførsel.
- Indsæt i den nye tabel.
- Test hver post efter overførsel.
- Gentag trin 1 til 5 for alle sammenkædede tabeller.
- Genopbyg relationer og forespørgsler
- Andre objekter, såsom formularer, makroer osv., kan gøres på samme måde.
Vores test viser, at disse manuelle teknikker fungerer bedst, når:
- Databasen forbliver delvist tilgængelig, hvor nogle tabeller og objekter stadig fungerer, mens andre er beskadigede.
- Indbygget reparationsværktøj har ikke virket
- Du skal gendanne specifikke data
- Tidspres er ikke et problem
Disse manuelle metoder kræver tålmodighed og omhyggelig opmærksomhed. At skynde sig igennem reparationer skaber ofte flere problemer. Tag dig god tid og behold sikkerhedskopier under hele reparationsprocessen.
6. Flere muligheder for at reparere korrupt adgangsdatabase
Andre end alle disse nævnte metoder. Der er stadig mange professionelle Access-reparationsværktøjer til rådighed. Vi har samlet og gennemgået de bedste på en liste.
7. Andre løsninger til åbningsproblemer med Access-database
Selvom filkorruption er en almindelig årsag til åbningsfejl i Access, kan andre tekniske problemer også udløse identiske eller næsten identiske symptomer og fejlmeddelelser. For at bekræfte, om din fil virkelig er beskadiget, kan du overføre filen til en anden fungerende computer og forsøge at åbne den i Access.
Hvis filen åbnes korrekt, er korruption ikke problemet. I sådanne tilfælde stammer problemet sandsynligvis fra dit lokale system eller Access-installation. Prøv følgende fejlfindingstrin for at løse fejlen på din computer:
- Reparationskontor
- Sørg for, at din Access-version er kompatibel med databasen.
- Opdel store databasefiler.
- Kontroller, om den fil, du forsøger at åbne, er fra en pålidelig kilde. Kontroller f.eks. filens placering, især hvis databasen kører på en server.
- Tjek, om makrosikkerhedscertifikaterne er opdaterede, og opdater dem, hvis de ikke er det.
- Sænk makrosikkerheden, hvis du bruger Access runtime til at køre databasen i stedet for at installere MS Access-softwaren på din maskine.
- Brug opdateret antivirussoftware til at kontrollere, om filen er inficeret med en virus eller malware.
8. konklusion
Databasekorruption kan alvorligt påvirke forretningsdriften. Vores forskning viser, at flere reparationsløsninger fungerer effektivt. Organisationer kan vælge mellem professionel gendannelsessoftware som f.eks DataNumen eller indbyggede Access-værktøjer til at gendanne deres beskadigede databaser. Nedenfor er et resumé:
DataNumen Access Repair værktøj fungerer bedre til alvorlige korruptionssager. Mindre problemer kan løses med indbyggede reparationsværktøjer. Manuelle gendannelsesteknikker giver værdi, når indbyggede gratis metoder ikke virker, og du ikke ønsker at betale, selvom de tager længere tid.
Din database har brug for regelmæssig vedligeholdelse for at forhindre korruption. En komplet backup-strategi hjælper med at beskytte dine data. Planlæg rutinemæssige kompakt- og reparationsoperationer. Overvåg databasens ydeevne konsekvent. Disse forebyggende trin og reparationsmetoder vil beskytte dine værdifulde data og reducere potentiel nedetid.
Bemærk, at hurtig handling og de rigtige værktøjer bestemmer vellykket databasegendannelse. Disse reparationsmetoder og regelmæssige sikkerhedskopier vil forberede dig til at håndtere eventuelle forudgående udfordringer med databasekorruption.
Forfatter Introduktion:
Vivian Stevens er en datagendannelsesekspert i DataNumen, Inc., som er verdens førende inden for datagendannelsesteknologier. Lær mere om DataNumen.