Home  |   Repair Service  |   Software  |   Tips  |   Technical Papers  |   Our Partners  |   Links  |   Contacts

Tips: How to Recover Corrupt Access Files

   -Corrupt Access File Typical Symptoms
   -Typical Causes of MDB File Corruption
   -Steps That You Can Take to Help Prevent Corruption
   -Access Database Recovery Guide

Corrupt Access File Typical Symptoms

- Unrecognized database format
- Enter database password
- The Microsoft Jet Database Engine cannot open the file
- Visual Basic for Applications Project in This Database Is Corrupt
- Unexpected Error 35012
- An "Invalid Page Fault..." error (not necessarily a corrupt database issue)
- You do not have the necessary permissions to open this object. Please contact your system administrator.
- [database.mdb] isn't an Index in this table. Look in the index collection of the TableDef object to determine the valid index names
- The Microsoft Jet database engine stopped the process because you and another user are attempting to change the same data at the same time -- 3197
- Microsoft Access has encountered a problem and needs to close
- The database 'databasename.mdb' needs to be repaired or isn't a Microsoft Access database file. -- 2239
- Operation failed - too many indexes - reduce the number and try again
- Failure to open/failure to show error
- Microsoft jet database engine could not find object MSysDB. Make sure the object exists and that you spell its name correctly and the path name correctly
- The Microsoft Jet database engine could not find the object MSysCompactError. Make sure the object exists and that you spell its name correctly and the path name correctly
- 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 Microsoft Jet database engine could not find the object 'filename'. Make sure the object exists and that you spell its name and the path name correctly.
- Invalid field data type
- Record(s) can't be read, no read permissions on 'database.mdb'
- Could not find field 'xxx'
- Invalid Bookmark
- This database is in an unrecognized format. The database may have been created with a later version of Microsoft Access than the one you are using. Upgrade your version of Microsoft Access to the current one, then open this database
- You cannot carry out this action at the present time
- Record is deleted
- The database has been placed in a state by user 'xxx' on machine 'mmm' that prevents it from being opened or locked
- "Needs to be repaired" and "Not a valid password"
- "The database has been placed in an unexpected state." or "This database is in an unexpected state; Microsoft Access can't open it." or "This database is in an unexpected state; Microsoft Access can't open it.. The database has been converted from a prior version of Microsoft Access by using the DOA compact database method instead of the convert database command on the tools menu. This has left the database in an unconverted state." or "This database is in an unexpected state; Microsoft Access can't open it. This database has been converted from a prior version of Microsoft Access by using the DAO CompactDatabase method instead of the Convert Database command on the Tools menu (Database Utilities submenu). This has left the database in a partially converted state. If you have a copy of the database in its original format, use the Convert Database command on the Tools menu (Database Utilities submenu) to convert it. IF the original database is no longer available, create a new database and import your tables and queries to preserve your data. Your other database objects can't be recovered."
- Disk Error -- Reserved error
- Table 'TempMSysAccessObjects' already exists
- Record(s) cannot be read; no read permission on 'MSysAccessObjects'" or 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
- Could not use ; file already in use. (Error 3045) The specified file is currently being used by another user or session. Wait for the other user or session to finish working with the file, and then try the operation again
- Operation invalid without current index
- 'database.mdb' isn't an index in this table. Look in the Indexes collection of the TableDef object to determine the valid index names
- disk or network error
- Unspecified Error
- The instruction at "0x11111111" referenced memory at "0x22222222". The memory could not be "written"
- The Visual Basic for Applications project in the database is corrupt
- Error accessing file. Network connection may have been lost. or "This action will reset the current code in break mode
- Microsoft Access has encountered a problem and needs to close. We are sorry for the inconvenience
- AOIndex is not an index in this table
return to top

Typical Causes of MDB File Corruption

Database corruption does not follow a "typical" scenario. There are, however, some virtually guaranteed ways to corrupt an MDB. If you power down your PC or "crash" your PC, or, in the case of server-based databases (including peer-to-peer systems) crash the network server or drop the network connection, it's almost a guarantee.

When the Netware servers are out of space Netware may purge caches prior to writing the data, which can corrupt open Access files. If you leave a server based Access application open on the workstation and the server administrator "kicks you off the net" and reboots the server, most likely your MDB is corrupt.

If you are using Terminal Server and the users disconnect, rather then log off the server, corruption could occur when the server is shut down. This is similar to pulling the power plug on your computer while you still have applications running as an orderly shutdown of the applications does not occur until the log off process is completed.

Sometimes we try to open a database file from an external (removable) media such as a diskette, CD, or ZIP type media. Due to the need for additional disk space for the LDB file and file expansion, opening database files from this type of removable media is prone to disk space errors, unavailability, and is, in general, not as reliable a storage media as a hard disk. Whenever possible, copy the file to the hard drive and process the file from there. When you are finished, copy the file back to the removable media.

Because Microsoft Jet is a file sharing database system, when using Microsoft Jet in a multi-user situation, multiple client processes are using file read, write, and locking operations on a shared file. Because multiple client processes read and write to the same file and Jet does not use a transaction log like more advanced database systems such as SQL Server, it is not possible to reliably prevent database corruption. If you want a reliable 24x7 database system, Microsoft recommends using a true client server database system that supports durable transactions like Microsoft SQL Server.

Opening and Saving the MDB File in Another Program:
There is no way to recover a .mdb file that was opened and then saved in a program other than Access. For example, Microsoft Word allows you to open an Access database and then save it (although it serves no good purpose to do so because if you open an MDB file in another program, all you can see are extended characters). Saving the file in this manner will cause the .mdb file to prompt you for a database password when you try to open it in Access even though the file may have never been password-protected in Access. The password prompt occurs in such cases because the first byte range that Access checks when it opens a file is where the database password would be. If that byte contains corrupted data, Access treats the file as being password protected. Even if there were a way to get around the password prompt in this case, the database would still be unrecoverable because the binary structure is scrambled and therefore unreadable to Access. Recovering a backup copy of the file is the only solution in this case. For additional information about this issue, click the article number below to view the article in the Microsoft Knowledge Base:

Q223043 ACC: Database Password Appears Even Though It Was Never Set

In Access 97, data corruption can occur when concurrently appending data from multiple instances of Microsoft Access to the end of a Memo field. Once corrupted, the field displays a "#deleted" symbol and further attempts to access the field will produce the following error:

"The Microsoft Jet database engine stopped the process because you and another user are attempting to change the same data at the same time."

Repairing the database incorrectly reports that it completed successfully. Compacting the database yields the following message:

"Record(s) can't be read; no read permission on ''."

Data in other fields within the table and record are unaffected. The row can be deleted, removing the corruption successfully.

To resolve this issue in Access 97, obtain Jet35sp3.exe (Microsoft Jet 3.5 Service Pack 3). To obtain Jet35sp3.exe, please see the following article in the Microsoft Knowledge Base:

Q172733 - ACC97: Updated Version of Microsoft Jet 3.5 Available

return to top

Steps That You Can Take to Help Prevent Corruption

Here are several precautions that we recommended to reduce the risk of corruption:

1. Avoid power loss during database writes, which can cause the database to be left in a suspect state.

2. Avoid dropping network connections.

3. Avoid abnormal termination of Microsoft Jet. Examples include: Power Loss, Rebooting, or using Task Manager to shutdown the application, etc.

4. When programming close all DAO objects that you open. Examples include Recordset, QueryDef, TableDef, and Database objects.

5. Do not run IPX on NT 3.51 Server where Jet databases are located across the network and the client is Win95 with IPX/SPX. Instead run TCP-IP on the NT Server and a dual protocol stack of IPX and TCP-IP on the Win95 client. (NT to NT with IPX/SPX will not cause the problem, nor will Novell to any client.)

6. Avoid large number of Open/Close operations in a loop (over approximately 40,000 successive operations).

7. Compacting the Database File - Here is a list of the benefits of running CompactDatabase often:

Note: It's highly recommended that databases are compacted often, daily if possible.

- Reclaims disk space created by object and record deletions. When objects or records are deleted from the database, the space they occupied is marked as available for new additions to the database. However, the size of the database never shrinks unless the database is compacted.
- Reorganizes a table's pages so they reside in adjacent database pages. This improves performance because the table data is sequential, allowing for better use of the read ahead cache.
- Resets incrementing AutoNumber fields so the next value allocated will be one more than the highest value in the remaining records.
- Regenerates the table statistics for the indices, which the Query optimizer depends heavily on these for optimal query plans. These statistics can become out-of-date over time, typically if transactions were rolled back, or if the database was abnormally terminated.
- Flags all queries so that they will be recompiled the next time the query is executed. This is important because database statistics can change and a previously compiled query may have an inaccurate query plan. For example a database may greatly increase or decrease in size.

In addition to compacting the database on a regular basis, the most current update of JET 4.0 contains modifications to help reduce database size and is available for download by referencing article:

Q239114 - ACC2000: Updated Version of Microsoft Jet 4.0 Available

8. Compacting the Workgroup File:

To Compact or Repair the System.mdw workgroup file, I would first make a copy of the file to a different folder on the hard drive. Open Access and from the File Menu, Open, select Files of Type as Workgroup Files and navigate to the copy of the System.mdw you just made.

The default location for the System.mdw file is:

Access 2000 - C:\Program Files\Microsoft Office\Office
Access 97 - C:\Windows\System C:\WINNT\System32
Access 95 - C:\Msoffice\Office

When you open the file, you may get messages indicating that some of the system file will be read only.

From the Tools Menu, Database Utilities, select Compact Database or Repair Database. Unless you get errors, I would then use the Workgroup Administrator (Wrkgadm.exe) to temporarily connect to the new file and test thoroughly. If this resolves your problem, then rename the original System.mdw to System.old as a backup and copy the new file to the location where the original file was located and use the Workgroup Administrator to connect to the new file back in the original location.

8. Obtain the latest application product updates - JET, MDAC, Office and MOD.

9. File Server Networking - When sharing a Microsoft Jet database file on a network file server it is recommended that we disable opportunistic locking (oplocks) on the network file server.

Microsoft has recently discovered an issue where opportunistic locking can increase the chances of database corruption when a Microsoft Jet database is shared by 2 or more clients on a network file server. This issue applies to Windows NT 4.0, Windows 2000, and Novell file servers that support opportunistic locking. This issue is still under investigation.

To disable opportunistic locking on a Windows NT 4.0 or Windows 2000 file server,locate the following registry key on the network file server:


(Note HKLM here stands for HKEY_LOCAL_MACHINE)

Under this key create a new DWORD value named EnableOplocks and set it's value to 0 to disable opportunistic locking. Re-boot the network file server to insure that the setting is honored.

10. Avoid using any Windows 2000 clients sharing a Microsoft Access database file stored on a Windows 95/98 file share. When you have a mixture of machines on a network with some machines having Windows 2000 and some machines having Windows 95/98 and you need to share the database with other network users, the recommendation from Microsoft is to store and share the database file from a Windows NT or Windows 2000 server with opportunistic locking disabled. Having Windows 2000 client machines, even with opportunistic locking disabled, sharing a file stored on a Windows 95/98 file share can potentially cause corruption. This issue is still under investigation and further information will be posted to this article when it becomes available.

11. Ensure you have a robust file server that is dedicated to sharing the Microsoft Jet database file (and not also acting as a Windows Domain Controller, Exchange Server, SQL Server, etc...).

The reason for this recommendation is a network administrator may re-boot the machine to fix a problem with another deemed more important service (such as the mail server), or re-boot after applying a hotfix or service pack, and forget that your Microsoft Jet database is currently shared on the server. This will cause unexpected interruption of the client connections to the database, possibly causing database corruption.

Likewise, a robust file server should be placed in a secured location where it cannot be accidentally switched off. The server should have a UPS to protect it from intermittent power outages or power fluctuations. Likewise the network file server should have high performance hard drives, a good network card, and plenty of RAM to insure that the server is not overly taxed by the load placed on it.

12. Ensure you have a stable and fast network, and good solid network connectivity to the network file server.

13. Avoid using Microsoft Jet over a WAN, modem connection, ftp (or any other less than reliable network transport). Since Microsoft Jet is a file sharing database system, any less than reliable network transport increases the chances of a dropped client, which in turn increases the chance of database corruption.

14. Ensure that the network file server has the latest operating system service pack installed.

Installing the latest operating system service pack on the network file server ensures that you have the latest bug fixes for the network redirector and file system.

15. Backup your Microsoft Jet database file on a regular basis. Note that you will need to shut down all Microsoft Jet clients before backing up the Microsoft Access database file, failure to do so may result in the backup file having inconsistent data. Choose a backup schedule that corresponds to the most amount of data you can afford to lose. For example, if you can't afford to lose more than a days worth of data, backup on a daily basis. If you can afford losing a weeks worth of data, backup weekly, etc... A full database file backup is the only guaranteed means of insuring that you can recover your Microsoft Jet database file when corruption occurs.

16. Application Design - can play into this in a significant way depending on the nature of your application. Microsoft Technical Support does not get deeply involved in design recommendations as this is, by necessity, predominantly a consulting situation to assist with your specific application. Consulting, including in-depth instruction on how to use a product, how to develop custom code, or how to design and normalize a database is a service offered by Solution Providers outside of Microsoft. You can call (800) SOL-PROV for more information about the Solution Provider Program. Additionally, Microsoft Consulting Services can be reached at (800)922-9446.

17. Minimize the number of connections made to the Jet database from each client. If possible, design each client to use one and only one connection to the Microsoft Jet database. Each connection to a Jet database represents an independent client to the database, even when these connections come from the same client process. To optimize performance, network i/o and reduce the multi-user stress on the back-end database, design the client application to use a single connection to the Jet database and share this connection over multiple recordsets as needed. This has the added benefit of preventing write/read delays inside the client application. By default, there is a 5 second delay (see PageTimeout topics in the Microsoft Jet Database Engine Programmer's Guide) between writing a value to the database and being able to read this updated value when writing and reading on 2 different Jet connections, even if the 2 connections reside in the same client process. Using a single connection avoids this issue.

18. Use a matching format Jet database for the version of the Jet engine used. For the best performance and stability, use a Microsoft Jet 4.0 format database when using Microsoft Jet 4.0 clients. Likewise, use a Microsoft Jet 3.0 format database when using Microsoft Jet 3.5 clients.

Here is a table of the currently available Jet formats and what translator dll is used (if any) to talk to this format when using a Microsoft Jet 4.0 client:

Access Version Jet Format Translator Dll Used
-------------- ---------- -------------------
Access 2.0 Jet 2.0 msrd2x40.dll
Access 95 Jet 3.0 msrd3x40.dll
Access 97 Jet 3.0 msrd3x40.dll
Access 2000 Jet 4.0 None
Access XP Jet 4.0 None

So we can see from this chart that Microsoft Access 95 and Access 97 create a Microsoft Jet 3.0 format database file. Likewise, Access 2000 and Access XP create a Microsoft Jet 4.0 format database file. When you are using a Microsoft Jet 4.0 client, you want to use a Microsoft Jet 4.0 database format file to avoid the use of a translator dll. Also, if you are using a Microsoft Jet 3.5 client, you should try to use a Microsoft Jet 3.0 format database.

Here is a list of common used Microsoft Jet database engine clients and what associated Jet engine version they utilize:

Client Application Jet Engine Used Recommended Jet DB Format
------------------------ ------------------- -------------------------
Access 2.0 Jet 2.0 Jet 2.0
Access 95 Jet 3.0 Jet 3.0
Access 97 Jet 3.5 Jet 3.0
Access 2000 Jet 4.0 Jet 4.0
Access XP Jet 4.0 Jet 4.0
DAO 3.0 Jet 3.0 Jet 3.0
DAO 3.5 Jet 3.5 Jet 3.0
DA0 3.6 Jet 4.0 Jet 4.0
Microsoft.JET.OLEDB.3.51 Jet 3.5 Jet 3.0
Microsoft.Jet.OLEDB.4.0 Jet 4.0 Jet 4.0
Access ODBC Driver* Jet 4.0 Jet 4.0

* Note that the Microsoft Access ODBC driver that ships with MDAC 2.1 and MDAC 2.5 uses Microsoft Jet 4.0. The Microsoft Access ODBC driver that ships with MDAC 2.0 or older versions of MDAC uses Microsoft Jet 3.5. MDAC 2.6 and later versions do not ship the Microsoft Access ODBC driver at all.

In certain situations (for example when you have both older and newer Jet applications sharing the same database file) you may not be able to use the latest format Jet database file. This is because older Jet engines cannot read or write to a newer Jet format database files. In this case you have no choice but to use the older format and use the translator dlls.

19. When accessing a Microsoft Access database from ADO, Microsoft recommends that you use the Microsoft Jet OLEDB Provider rather than the Microsoft Access ODBC driver. For more information on this topic, see the following knowledgebase article:

Q222135 - ACC97: Using Microsoft Jet with IIS

Note that this article applies to both Jet 3.5 and Jet 4.0.

One Final Note:
Another service is the Microsoft Office Developer Consulting Line, which is available for customers who need development assistance using Microsoft Office products. The cost is $210/hour. You can reach the Microsoft Office Developer Consulting Line by calling (800) 936-5200.

Additional References:

Microsoft Jet Database Engine Programmer's Guide

Q200300 - HOWTO: Synchronize Writes and Reads with the Jet OLE DB

Q209137 - ACC2000: How to Troubleshoot/Repair a Damaged Jet 4.0 Database

Q109953 - ACC: How to Troubleshoot/Repair Damaged Jet 3.0 and Prior Datab

Q296264 - Configuring Opportunistic Locking in Windows 2000

Q129202 - PC Ext: Explanation of Opportunistic Locking on Windows NT

return to top

Access Corrupt File Recovery steps

1. The first thing I would do is make a backup copies of the corrupt database and only try the recovery attempts on one of the backup copies as any attempt to recover the database could render it useless for future attempts.

2. To recover a damaged database file, first try using Compact Database from the Tools menu, Database Utilities. In the Tools Menu, Options, General tab, you can select Compact on Close for the currently open database.

3. When we suspect that the database file may have become damaged, we can import the contents of that file into a new database. If the problem was caused by damage to the database structure, this method will frequently allow us to recover the data and database controls from the original file into a new database file that functions correctly.

To import an existing database file we first need to create a new blank database. From the File menu, select New and choose database. At this point you may want to name the new database file differently from the original so that the two files have unique names.

From the File menu, choose Get External Data, Import, and select the original database file. When the file is opened, click the Select All button on each of the tabs in the Import Objects dialog box. This will import all of the Tables, Queries, Forms, etc. from the original database into the new database.

If your database contains custom menus, toolbars, or import/export specifications, use the Options button to select these items.

If Microsoft Access stops the import at any point, it has probably hit a damaged database object. You will then need to import the objects in that group one-by-one, instead of selecting the whole group. Microsoft Access will not allow damaged objects to be imported into a new database, so you will need to re-create any objects you are unable to import.

Once the Import is completed you will have a copy of the objects from the original database in a new database structure and you are ready to use the new database.

This technique is also worth trying when a database file has been converted from a previous version of Access and does not work as expected.

4. Sometimes a file that does not open on one machine will open on another.

5. Corrupted Form Objects - In Access 97, we can sometimes remove corruption from a Form by using the undocumented SaveAsText and LoadFromText Functions. This technique assumes Access 97 is available on the computer.
- Open the database in Access 97.
- Press CTRL+G to open the Debug window.
- Type the following line and then press ENTER

SaveAsText acForm, "", ""

where is the name of the form that is corrupt and is the path and name of the text file you want to save to.

- Rename the corrupted form.
- Type the following line and then press ENTER
LoadFromText acForm, "", ""
where is the name you want the form to have and is the path and name of the text file you want to import from.

6. Corrupted VBA Modules - When a Report or Form appears to be corrupt it may be due to a damaged Class Module associated with the form.

To fix this problem, in original Database open the damaged report in design view. Open the properties of the report and set the Has Module Property to No. This will remove this corrupt Module from the project. The Has Module Property is located at the bottom of the "Other" tab on the properties dialog. Close and save the report.

If the corruption involves being unable to open the class module of a form or a report, or the design view of a module, you may want to try the /decompile command line switch. It is strongly recommended that we make a back-up copy of the database before attempting this method. The following is a sample command with the /decompile switch, wherein MSAccess.exe is in its default location and the database DB1.mdb is in the C:\ folder:

"C:\Program Files\Microsoft Office\Office\MSAccess.exe /decompile
C:\DB1.mdb" (without the quotation marks)

After running this command from the Run box, you are prompted to compile the database after using /decompile.

7. Access 2000 VBA Modules - If we get an Invalid Page Fault when we try to open a class module, we can try to clear up the corruption by exporting and then importing the problem module as detailed in the following steps:

- Open the database.
- In the Database window, click Modules, and then click New. The Visual Basic Editor starts.
- If the Project window is not visible, click Project Window on the View menu.
- In the Project window, click Class Modules. A list of the class modules appears.
- Right-click the problem module, and then click Remove .
- You are asked to export before removing the module. Click Yes.
- In the Export File dialog box, click the "Save in" box, and then click Desktop. Click Save.
- On the File menu of the Visual Basic Editor, click Import File
- In the Import File dialog box, click the file that you just exported, and then click Open.
- On the File menu, click Save .
- On the File menu, click "Close and Return to Microsoft Access".
- Try opening the module in Design view. The module should open without error.

For additional information on this issue, please see article:

Q248970 - ACC2000: Invalid Page Fault When You Try to Open Class Module

If the preceding steps don't work because you cannot create a new module, there are a couple of things we can attempt to try from the VBE Immediate window:
- Use VBE's Export method to export the class module programmatically. From the immediate window, execute this line:
Application.VBE.ActiveVBProject.VBComponents("Class1").Export "C:\class1.txt"
- Try using Access's SaveAsText method. From the immediate window, execute this line:

Application.SaveAsText acModule,"Class1","C:\class1.txt"

In some cases, a VBA Module becomes corrupt in such a way that the module cannot be located in the database window or deleted from the database.

If this should occur, open the VBA editor from the database window (alt-F11) and select the module in the Project Explorer. We can now Export the module by clicking on File, Export Module. Make a note of where we export the module.

We can now Close this database and create a new one. Import all the objects from the original database expect for the offending Module.

Note: we may receive errors for the linked tables if they cannot be found during the importing.

In the new database, open the VBA Editor from the database window (Alt - F11), Import the module we previously exported, and save it by selecting Save Project from the file menu.

These steps should remove any corruption from the VBA project in the new database. In addition, it will remove the module that could not be deleted, and should allow us to see the new module in the database window.

8. There is sample code in the JET35SP3.exe ReadMe File, which can be modified to apply to both Access 97 and Access 2000. This code provides the possibility to SOMETIMES recover some, if not all data in the database tables. To obtain this code, please see the following articles:

Q182867 ACC: Jet Database Engine 3.x Error Messages Due to Corruption

9. Table Corruption - Sometimes we can extract table data when we cannot open the database file by importing the Access table data into in intermediary application like Excel, and then import the data from Excel into Access. In the following steps we are using MS Query in Excel to recover data corrupted database file:

- Select Data\Get External Data.
- Choose New Database Query.
- At the Choose Data Source window, select Microsoft Access Database and click OK.
- At the Select Database window, browse to the .MDB file.
- At the Query Wizard window, select the table and columns.
- A filter or a sort is not necessary, just click on Next and then on Finish.
- If the data can be read, it will display in the Microsoft Query window.

10. Troubleshooting Tools - There are methods we can use to determine which users and/or workstations are causing JET to mark a database as suspect:

When JET begins a write operation, it sets a flag, and resets the flag when the operation is complete. If a write operation is interrupted (such as with a power or network failure, the flag remains set. When you reopen the database, JET determines that the flag is set and reports the database as corrupt. In these cases, compacting and/or repairing the database can typically restore the database.

In JET 4.0 you can use the JET UserRoster utility to determine which users/workstations may be causing the problem. The UserRoster utility which is available as a VBA code sample in Knowledge Base Article:

Q198755 ACC2000: Checking Who Logged into Database with Jet UserRoster

11. Repairing Databases - You might want to review the Knowledge Base articles on repairing a database file:

Q109953: How to Repair a Damaged Database File
Q279334 - ACC97: How to Repair a Damaged Jet 3.5 Database
Q209137 - ACC2000: How to Troubleshoot/Repair a Damaged Jet 4.0 Database

11. Other Recovery Options - FDRLab Data Recovery Centre is a Third-Party organization that specializes in providing Access applications and recovery of damaged Access database files. They are available on the Internet at:


12. If all else fails our only option may be to use a backup copy of the database or recreate the database from the original source documents.

return to top

Home | Repair | Software | Pricing | Tips | Technical Papers
Partners Resources | Links | Contacts

Privacy Policy | Disclaimers | Sitemap
© 2003 FDRLab Data Recovery Centre

File Recovery Service by FDRLab Data Recovery Centre
Copyright 2003-2005 FDRLab.com, all rights reserved. Contact: info@fdrlab.com
Access Recovery Tips