ACC2000: How to Repair a Damaged Database
ID: Q209137
|
The information in this article applies to:
Novice: Requires knowledge of the user interface on single-user computers.
This article applies only to a Microsoft Access database (.mdb).
SUMMARY
Environmental factors, such as power outages and power fluctuations,
improper closing of Microsoft Access, and disk or network failures, may
leave your database file damaged. The Repair and Compact utilities in
Microsoft Access are useful tools for recovering and optimizing Microsoft
Access database files. This article describes how to use these utilities
and additional alternatives for repairing a damaged database file.
MORE INFORMATION
Although the steps outlined in this article are usually successful at
recovering damaged database files, to safeguard your data, you should
create a backup copy of your database file as often as is feasible for you.
Compact and Repair Utility
The Compact utility eliminates empty space in an existing database. It does
so by creating a new destination database and copying each object in the
old database to the new one. If you choose to compact the database into the
original database name instead of a new database, the Compact utility
creates a temporary database, exports all the objects from the original
database into the temporary database, removes the original database, and
renames the temporary database to the original database's name.
The Repair utility tries to repair only the tables, queries, and indexes in the database. It does not try to repair damaged forms, reports, macros, or modules.
Recovering a Damaged Database
The following steps outline a general method for repairing a damaged
database:
- Back up the damaged database (.mdb) file.
- Delete the .ldb file if it is present. You should close the corresponding .mdb file before you delete this file.
The .ldb file is used to determine which records are locked in a shared database and by whom. If a database is opened for shared use, the .ldb file is created with the same name as the corresponding database (.mdb). For example, if you open (for shared use) the Northwind.mdb sample database in the c:\Msoffice\Access folder, a file called Northwind.ldb is automatically created in the same folder. The .ldb file is automatically deleted after the last user has quit the database with two exceptions -- when the last user does not have delete privileges to the folder that contains the .mdb file, or when the database is corrupted.
For additional information about .ldb files, please see the following
article in the Microsoft Knowledge Base:
Q208778 Introduction to .ldb Files
- Run the Compact utility as follows:
- If the database is open, close it.
- On the Tools menu, point to Database Utilities, and then click Compact and Repair Database.
- In the Compact Database From dialog box, select the file that you want to compact, and then click Compact.
- In the Compact Database Into dialog box, enter a new file name and click Save.
If the compact and repair does not succeed, you will receive a message stating so. This means the damage is so severe that it cannot be corrected.
- If the previous steps fail to recover your damaged database, try creating a new database and importing the objects, one-by-one, from the old database to the new one. Then re-create the relationships. This technique resolves problems with damaged system tables in the database.
Note that you are not able to import data access pages with the Import Wizard. Instead, open an existing data access page in the new database. To do so, follow these steps:
- In the Database window, click Pages under Objects.
- Click the New button.
- In the New Data Access Page dialog box, click Existing Web page, and then click OK.
- If the damage is in a form or a report, the damage can be either in the form or the report itself or in one or more controls on the form or the report. You can delete the form or report and import it from the backup copy of your database or use one of the following options:
- If the damage is in the form or report itself, create a new form or report, and then copy the controls from the original form or report.
- If the damage is in a control on the form or the report, create a new form or report, and then re-create the controls on the new form or report. It is best to re-create all the controls, because there is no way to tell which controls are damaged.
- If the damage is in a macro or a module, the damage can be in the macro or the module itself or in the contents of the macro or the module. You can delete the macro or the module and import it from the backup copy of your database or use one of the following options:
- If the damage is in the macro or module itself, create a new macro or module, and then copy the contents of the original macro or module.
- The damage could involve non-ASCII characters embedded in the module. Save the module as a text file, remove any bad or strange data, and then reload the text file into a new module.
- If the damage is in the contents of the macro or module, you must create a new macro or module, and then re-create the contents of the original macro or module.
If you cannot repair the database with these steps, the database is
probably damaged beyond repair. If this is the case, you should restore
your last backup database or re-create the database.
As a final alternative, some consultants may provide a Microsoft Access
database repair service. Because this is such a specialized service, the
most efficient way to locate a consultant is to post a message in the
Microsoft Access "Third Party and User Groups" Internet newsgroup, which
has the following newsgroup address:
microsoft.public.access.3rdpartyusrgrp
For additional information about Microsoft Access Internet newsgroups, please see the following article in the Microsoft Knowledge Base:
Q150057 Microsoft Access Newsgroups Available on the Internet.
REFERENCES
For more information about repairing databases, click Microsoft Access Help on the
Help menu, type "repairing" in the Office Assistant or the Answer Wizard,
and then click Search to view the topic.
Additional query words:
corrupt corruption
Keywords : kbdta GnlBaddb GnlCmp
Version : WINDOWS:2000
Platform : WINDOWS
Issue type : kbhowto
Last Reviewed: May 13, 1999