5 Simple Tips to Prevent MS Access Database Corruption

It's important to understand that any time an Access client disconnects unexpectedly, it may set a "corruption flag" in the .mdb file indicating that the database is in a corrupt state (regardless of whether any data has actually been corrupted or not). Any user who attempts to open the database while this flag is set will receive a message, and the database will have to be repaired before it can be used. If the users don't have permission to perform the repair, or don't know how to perform the repair, there may be significant downtime before the database is available again. This can result in a loss of productivity as well as extreme frustration for the users. Following the 5 tips below will minimize your odds of data loss from corruption in your Access databases.

1) Split your database.

The single most important thing you can do to prevent corruption in MS Access databases is to split the database into a "front-end" and a "back-end". The front-end contains all of the forms, queries, and reports, while the back-end contains only the data tables. A copy of the front-end is placed on each user's computer, and the back-end with the table data is stored in a shared folder on the network. How does this prevent corruption? Well, consider the amount of information that must make it across your network to your computer each time you open a form or report. If one bit of that information doesn't make it intact, you risk corrupting your database. Alternatively, if the forms, queries and reports are all stored on your local computer, then the only bit of information that needs to traverse the network is the actual table data. By reducing the amount of data you need to move back and forth across the network, you significantly reduce the chances of corrupting your database. If you're having corruption problems with an Access database on a network drive, splitting the database is the single most important thing you can do to stop it.

2) Don't hold connections open.

This one applies to both programmers and users. If you're a programmer, make sure you close your connections as soon as possible after using them. Leaving the connections open will allow more opportunities for an "unexpected" dropped connection. The only time you may want to leave a connection open longer than required would when it's used inside a loop. For such a case, open the connection at the beginning of the loop, and then close it after the loop is completed. Just make sure it gets closed for all cases (including exceptions).

If you're using a Microsoft Access database or application, be sure to close it when you're finished. Again, leaving the application open provides the opportunity for corruption if a network connection is lost. Remind users to always close the application before going home, as nightly backup jobs may fail or cause corruption in the shared file if there are open connections.

3) Exit the database correctly.

Always close the database or application correctly. Ctrl-Alt-Delete/End Task can wreak havoc on Access databases. Whenever possible, complete your tasks, then close the application using the File - Exit menu option or alternative Exit option provided by the application.

4) Don't skimp on hardware.

Remember that the corruption flag can be set from the slightest packet loss between your computer and the database file. MS Access has sometimes been called "the canary in the coal mine". It has gained this reputation from being the first application to "die" when there's the slightest hint of trouble on your network. Just like the slightest presence of gas caused the canary to die, the slightest presence of network problems and packet loss can kill your Access applications. Make sure you're not using the cheap built-in NICs that come with some PCs. Instead, use brand name network cards. The same goes for cheap hubs. Whenever possible, match good brands of equipment throughout your network.

5) Compact and repair regularly.

Performing the built-in compact and repair function regularly is recommended to prevent corruption and improve performance. Consider automating this function with a utility to compact and repair all of your databases nightly or during the weekend.

Error messages to look out for - the following error messages may signal database corruption:

"The database 'databasename.mdb' needs to be repaired or isn't a Microsoft Access database file."

"Record(s) can't be read, no read permissions on 'databasename.mdb'"

"Unexpected Error 35012"

"Unrecognized database format 'databasename.mdb'."

"'databasename.mdb' isn't an index in this table. Look in the Indexes collection of the TableDef object to determine the valid index names."

"The Microsoft Jet database engine could not find the object 'databases'. Make sure the object exists and that you spell its name and path name correctly."

"The database has been placed in a state by user '' on machine '' that prevents it from being opened or locked"

"Disk Error -- Reserved error (-1601)"

"The database has been placed in an unexpected state."

"Record(s) cannot be read; no read permission on 'MSysObjects'"

"Record(s) cannot be read; no read permission on 'MSysACEs'."

"The Microsoft Jet database engine cannot find the input table or query 'MSysAccessObjects'. Make sure it exists and that its name is spelled correctly."

Conclusion:

While you may never be able to prevent all Microsoft Access database corruption, you should be able to stop 98% of the problems before they occur by following these 5 simple tips. Follow these tips and implement a prudent automated backup schedule to minimize your odds of significant data loss.

Kevin Sparks is a technical writer for Kaizen Software Solutions, the producer of Digital DBA, an automated MS Access monitoring, backup, and compact/repair utility. For more information, visit their website at http://www.kzsoftware.com/products/digitaldba

More Resources

Unable to open RSS Feed $XMLfilename with error HTTP ERROR: 404, exiting

More Data Recovery Information:

Related Articles


Data Backup Solution: Why You Need a Backup Plan in Place - Part 2
In the first part of this article series, I talked about the three main threats to the data on your computer. I talked about the need for a data backup solution that protects your data properly.
How To Use Spyware Elimination Software
Spyware elimination software is designed to detect andeliminate spyware. A large number of spyware eliminationsoftware products are available.
Avoiding Hard Disk Data Recovery Services
As a home computer owner, one of the greatest threats to yourinformation and to your wallet, is hard disk failure. When yourdrive crashes, you will quicky realize how valuable theinformation you can no longer access is.
Computer Data Backup - Data Backup Solution Will Give You A Peace Of Mind
Imagine that you have been working on a file for the entire day and there was a power surge that caused your computer to 'black out'. It would have been a frustrating experience for us as we had put in a lot of time and effort into it.
Want To Beat The Odds? Disaster Recovery Planning is Essential
Statistics show two out of five businesses go out of business within five years of experiencing a major disaster.These statistics are staggering.
Data Recovery Processes
Six months ago my computer crashed. When I turned my computer on it would not load Windows XP and so I could not get into my two hard drive files.
5 Simple Tips to Prevent MS Access Database Corruption
It's important to understand that any time an Access client disconnects unexpectedly, it may set a "corruption flag" in the .mdb file indicating that the database is in a corrupt state (regardless of whether any data has actually been corrupted or not).
Data Recovery
Every person who uses a personal computer will eventually face the challenge of data recovery. Computer hardware and software can be temperamental from time to time.
Data Backup Solution: Why You Need a Backup Plan in Place - Part 1
Is a data backup solution part of your computer plans? Do you have a way to protect yourself if something goes wrong with your computer or data? Computers are a useful part of our lives but we don't always protect ourselves from their loss be it fire, theft or hardware failure.We often don't consider how fragile our computer data really is.
Business Continuity and Disaster Recovery - Risk Analysis and Control
In the risk evaluation phase, there are a number of key areas that must be covered. One of the most important is to understand probable threats.
Business Continuity and Disaster Recovery - Business Impact Analysis
Business impact analysis is a critical part of the business continuity planning process. This step quantifies data and gets into the real world issue of potential losses that can negatively impact your business.
Backup Your Data Or Lose Your Life!
Oh the perils of collecting those precious photos on your PC for years, only to have your hard drive crash one day, and not have made a SINGLE BACKUP COPY of any of your priceless pictures. Well, now is the time to backup your hard drive.
The Importance of Data Backups
All computers and their components are subject to failure. In fact sooner or later every business will be confronted with some type of computer failure.
How to Effectively Back Up Your Data
What to backup, and what to loseThe oldest "computer expression" is that there are two kinds of computer users, those that backup their data and those that will. Often, it takes a "data disaster" to compel otherwise responsible people to make a regular habit of backing up their data.
Business Continuity and Disaster Recovery - Selecting A Business Continuity Strategy
The risk analysis and business impact analysis have identified risks to key business functions. Also, the potential impacts and probabilities of these risks as well as the costs to prevent or mitigate damages and the time to recover will have been established.
When Disaster Strikes: How Long Would Your Business Survive if Files On Your Computer Disappeared?
A Tornado? In Birmingham? In The United Kingdom? Unthinkable!Yes, in July 2005 (while I was putting finishing touches to my cave-house in Spain) my house, along with many of my neighbours' houses was struck by a powerful tornado that literally tore up the streets. Leaving people homeless as their homes were bulldozered (with all their possessions inside).
Business Continuity and Disaster Recovery - Reducing Your Risk Profile
Like all plans, there is an ultimate goal to achieve. The goal in a business continuity plan is simply that: to continue your business in the face of a disaster or a disruption.
Learn How To Make Data Backup Over The Internet!
Why should you backup your data on the Internet?There are several reasons.* The backup is located at a secure place for away from your computer.
Disaster Recovery Made Easy With Online Backups
Whenever disaster strikes the most critical asset that every company should have protected from sudden loss due to fire, flooding, or theft is their data. No matter what happens to your hardware you can be sure to be able to be up and running no matter how sudden or how severe your damage or loss is - if you use an online backup system.
Big Time Disaster Recovery Solutions Available for the Little Guy
There was a time - not too long ago - that Data Disaster Recovery solutions were available only in the domain of multinational corporations and big business in general. However, with the proliferation of high speed internet access and the ability to store large amounts of data in a much more cost effective manner due to plummeting storage costs, the ability to perform a secure backup of data to a remote location engineered specifically for the purpose of securely storing massive amounts of information is now in the reach of the general public.