Toon posts:

[Access] Terugvinden verwijderde records

Pagina: 1
Acties:
  • 1.153 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Als ik een record toevoeg aan een access database dan wordt deze groter en dat is logisch
Als ik echter een record verwijder dan wordt hij niet kleiner en dat is onlogisch. Dat je vervolgens een dbcompact uit kunt voeren weet ik.

Maar.

Is het mogelijk om verwijderde records terug te vinden. Gezien het formaat van het .mdb bestand lijkt het alsof ze niet echt gewist worden.

Als ik een record toevoeg met een unieke string bijv "DITISDESTRINGDIEIKZOEK"
en ik verwijder die weer
Vervolgens open ik de .mdb file met het kladblok en zoek ik naar de string. Dan vind ik deze wel

Blijft deze string permanent in de file achter of wordt deze ook weer een keer overschreven. (De dbcompact buiten beschouwing gelaten)

De standaard tooltjes (dbrepair en advanced access repair) voor het herstellen van een access database doen dit niet. Weet iemand hoe dit wel kan.


Wie weet meer??

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 19-08 12:58

NMe

Quia Ego Sic Dico.

Vragen over Access mogen tegenwoordig in Officesuites en -software gesteld worden. :)

PW>>OFF

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • Boss
  • Registratie: September 1999
  • Laatst online: 09:43

Boss

+1 Overgewaardeerd

Interessante vraag, heb er zelf nog nooit zo tegenaan gekeken!

In theorie lijkt het mogelijk te zijn om het record weer terug te kunnen halen, de gegevens staan er immers nog. Het lijkt alsof er alleen een bitje wordt omgezet om het records als verwijderd te markeren. Ik ken geen tools om records weer terug te kunnen halen, maar met google lijkt er wel wat voor te bestaan. De door jou genoemde Advanced Access Repair claimt het wel te kunnen. Werkt dat niet dan?

The process of preparing programs for a digital computer is especially attractive, not only because it can be economically and scientifically rewarding, but also because it is an aesthetic experience much like composing poetry or music.


  • Stamgastje
  • Registratie: April 2003
  • Laatst online: 02-02-2020
Verwijderd schreef op donderdag 07 juli 2005 @ 02:20:
Als ik een record toevoeg aan een access database dan wordt deze groter en dat is logisch
Als ik echter een record verwijder dan wordt hij niet kleiner en dat is onlogisch.
Dat is wel logisch. Als bij het verwijderen van ieder record de database verkleind zou moeten worden dan zou dit ontzettend veel tijd kunnen gaan kosten. Records kunnen bijvoorbeeld in het midden van het database bestand verwijderd worden, compacten (feitelijk het schuiven van records in de file) is dus de enige manier om alles weer kleiner te maken. Je kunt je denk ik wel voorstellen dat dat steeds langer gaat duren naarmate de database groter wordt.

Terughalen is normaal gesproken niet mogelijk (met SQL), maar als je gewoon toegang hebt tot het bestand zou je het inderdaad met bijvoorbeeld een hex editor wel terug kunnen vinden ja.

[ Voor 3% gewijzigd door Stamgastje op 07-07-2005 10:35 ]


  • bazs2000
  • Registratie: November 2000
  • Laatst online: 31-07 08:16

bazs2000

Pixels zo groot als een atoom

Zou je een tabel weggooien dan kun je die zonder al teveel problemen terug halen:
http://support.microsoft.com/?kbid=209874

Met records ligt dat net iets ander, er bestaan wisselende verhalen over. De één zegt dat het kan, de ander zegt dat je wel records terug kan halen maar met een verlies van ~95%. Dat laatste geloof ik niet echt aangezien Access alles blijft behouden totdat je de .mdb comprimeert.

Boze tongen beweren toch anders maar de meesten laten toch enige twijfel zien en verwijzen naar een datarecovery-bedrijf/specialist in het geval er iets verwijderd is. De mensen die dat zeggen weten vaak meer van Access en daarom snap ik niet dat veel mensen het niet zeker weten.

Een echt antwoord bestaat er niet, behalve dan dat je het wel kunt proberen maar dat je niet alle records kunt terughalen. Beter is het om records niet te verwijderen maar de records in een spiegeltabel te zetten. Alle belangrijke tabellen van mij hebben een spiegeltabel en de gewone gebruikers kunnen daar niet bij, alleen ik. Mocht iemand iets hebben verwijderd dan hoef ik alleen maar de verwijderde record met een toevoegquery terug te zetten.

Let wel, hiermee borduur ik voort op het geleuter dat records slecht teruggehaald kunnen worden en dat het makkelijker is om een tabel te recoveren. Beter is het om ervoor te zorgen dat een record niet per ongeluk verwijderd kan worden. Maar je kunt het nooit tegenhouden.

Beter is het om de spiegeltabel fysiek ergens anders te plaatsen (dus niet in dezelfde .mdb) want de spiegeltabellen zullen na verloop van tijd behoorlijk groot kunnen worden. Mijn advies is dus "Verplaatsen in plaats van verwijderen". Dit kan je redden wanneer je in een situatie beland dat je iets terug moet halen wat niet gaat en waar ook geen backup van is. :)

Krankzinnige muziek vind je hier.