On Tue, 10 Aug 2004 08:37:02 +0100, Trevor Best wrote:
Tony Toews wrote:
"Grant" <ja*********@hotmail.com> wrote:
Is there a way to recover deleted records from a table. A mass deletion has
occurred and Access has been closed since it happened
Even Peter Miller, who recovers corrupted MDB files, states this can't be done.
That surprised me.
I've posted on this before. Tony's overstating things to say that
I've said that deleted records can't be undeleted, but its only a very
slight overstatement. What I've said is that for all practical
purposes, deleted records (where the records, but not the table, have
been deleted) can't be undeleted in most cases. As Thilo points out
in this thread, the FIRST deleted record on a data page can be fully
undeleted, but all SUBSEQUENT deleted records on that page can NOT be
recovered because the first deleted record is copied over the
remaining records.
The average data page holds 20-30 records, although it could hold from
one to 200 or so records. The actual number depends on a variety of
factors (whether unicode is used, how many fields, what data types,
whether existing pages are full, etc) but the primary limiting factor
is the space required to store the average field. More specifically,
virtually all non-text fields require storage whether or not they are
used, all memo/ole/binary fields are stored outside of the data page,
and all text fields use storage only if they have values. There's
various places you can look for more specific information on storage
requirements, but this should give you an idea.
So, assuming Access can fit about 25 records per data page (which is
not at all unusual for a typical table), if your table has 100,000
records, it would take 4,000 data pages to store this data (in a fully
compacted database). If you delete all of these records and send your
file off to us (or some other company), the first record on each of
these pages could be recovered (so you get back 4,000 distinct
records). Another 96,000 records could, generally, be recovered, but
they would be 24 copies of each of the 4,000 distinct records. So, in
a case like this, there's no point in returning 100,000 records and
saying there's 100% recovery, because we know that 96% of these are
bogus copies. But at the same time, there's no reason to say no
recovery whatsoever is possible. It is not at all a problem to
recover 4% of the original data. Of course, 4% is pretty lame, and
virtually useless in almost (but not) all cases.
If the records had a large number of fields, they will take more space
to store, and so a higher recovery rate is expected. But even if you
only had two records per page, you're still looking at 50% data loss.
So, to summarize, Tony's pretty much correct that this type of data
loss is fatal, but its always important to be as accurate as possible
in describing exactly what sort of loss occurs. While in many
applications, 5% data loss may be fatal, in some cases, even 90%+ data
loss is still considered by the client to be a case where recovery of
the remai9ning data is still desirable (for example, in criminal
investigative/forensics cases).
HTH,
Peter Miller
PK Solutions