Hello,
I have several applications that maintain a Jet database
via ODBC. There are perhaps two dozen tables, ony two of
which have perhaps 10,000 records each. The rest are
rather small. A typical MDB file runs between 1 and 4 MB.
They can be Access 97 or Access 2000 format. The
applications have been around for years. The DAO methods
are used to access the tables. During start up the Jet
interfaces are used to verify the database has the correct
schema and make the appropriate changes. Restarts are
rare. Many systems go for months without a need for
restarting. Most systems get a reboot whenever the Windows
Update cycle is required for critical updates.
Around April this year two customers (of several thousand)
have reported problems with their applications failing.
Upon examination, the database started growing rather quickly
even though the application logs show low activity. One
customers 4MB file grew to 250MB in two months and another
with a 2MB file grew to 1GB. To say the least, I was a bit
amazed. The applications monitor systems for alarms and
typically cause a few dozen add/updates to occur per month.
I've identified a reported problem that matches this
description. The only solution appears to be to close the
applications once in a while, say monthly, and compress and
repair the database. I can handle all that as well as
continue to verify that one of us didn't inadvertantly
cause the problem.
I'd like to know if there is a way to determine when
a Jet database is likely to have a problem. Is there a
way to ask Jet if it is starting to get fragmented or
corrupted? The only thing we can think of at the moment
is to watch the database size and perhaps take action
if the database seems to grow for no reason. As this
is a normal occurance for a freshly compressed database
what might be reasonable thresholds.
If you have seen this type of problem, or read about
it, was the increase in size rapid or did it occur over
a long period of time?
Thanks in advance,
David