Sunday, September 18, 2011

How to resolve Exchange server error “The database files in this storage are inconsistent” ?

Microsoft Exchange Server is a communication application which is widely used by many small to large organization. This server-side application provides complete network sharing and effective management of both email-clients and its individual users. The Exchange Server application stores all the data like emails, attachments, contacts, notes, calendar entries, sent items etc. in an information store database file that is known as .edb file. Sometimes, you fail to mount the Microsoft Exchange database because of corruption or any other reason and get some undesirable error messages. 
 
The causes which lead to database file corruption and other damages are file's header corruption, human errors, virus attack, hardware error, power outage and more. Due to the corruption in Exchange database file, the users of MS Outlook fail to access their emails and other items. In such situation, you should try to find the reason of corruption and take appropriate action to repair the damage Exchange Server. However, if you are not able to do this, then you can use a third-party Exchange Server recovery solution to repair and recover data from corrupt EDB file.

Consider a scenario wherein you are using Exchange server 2000, then you try to mount the Information Store database file in Exchange Server but are unable to do so and an error message appeared, which says:

“The database files in this storage are inconsistent
Id no: c1041739”
In addition, every time when you attempt to mount a database, you will find the following error entries in the application log:
Event Type: Error
Event Source: ESE98
Event Category: Logging/Recovery
Event ID: 465
Date: Date
Time: Time
User: N/A
Computer: Computer_Name
Description: Information Store (2224) C:\Program Files\Exchsrvr\mdbdata\E00.log. Corruption was detected during soft recovery in logfile 4092:203. The failing checksum record is located at position 4117. Data not matching the log-file fill pattern first appeared in sector %6. This logfile has been damaged and is unusable.”
And
Event Type: Error
Event Source: ESE98
Event Category: Logging/Recovery
Event ID: 477
Date:
Date
Time:
Time
User: N/A
Computer:
Computer_Name
Description: Information Store (2224) C:\Program Files\Exchsrvr\mdbdata\E00.log. The log range read from the file "2095104 (0x00000000001ff800)" at offset 12800 (0x00003200) for -501 (0xfffffe0b) bytes failed verification due to a range checksum mismatch. The read operation will fail with error %7. If this condition persists then please restore the logfile from a previous backup.




Cause:

The reason for this problem is that either the Exchange mailbox store database or public store database is not in a consistent state.

Resolution:

To resolve this problem and access the damaged .edb file, there are some built-in tools provided by the Microsoft to check and repair the Exchange database. You should either repair or restore the corrupt Exchange database file by using the appropriate utility. You can do this by applying the following methods:

1) Check the State of Database:

Use the following command to check the consistency of the database:
eseutil /mh "drive:\program files\exchsrvr\mdbdata\database_name.edb"
If the Exchange database file is not a consistent state, the following message displays on the screen:

State: Dirty Shutdown

2) Repair or Restore the Exchange database:

If the database is not in a consistent state, you need to repair or restore it.
  1. Restore from backup: Following steps describe how to restore a database from the backup file:
    1. Move or rename the E00.log file. By default, the location of this file is Drive:\Program Files\Exchsrvr\MDBDATA folder.
    2. Restore the storage group and the log files.
    3. When the storage group is completely restored, try to mount the database.
  2. Repair EDB database file: Use the following steps to repair the database file:
    1. Open Command Prompt Window
    2. Move to the Drive:\Program Files\Exchsrvr\Bin folder.
    3. Execute the following command:
eseutil /p “drive:\program files\exchsrvr\mdbdata\database_file_name.edb”
    1. Run the following command to defragment and rebuild the Exchange database file:
eseutil /d /t:x “drive:\program files\exchsrvr\mdbdata\database_file_name.edb
    1. Verify the consistent state of the database, type the following command and press 'Enter':
eseutil /mh “drive:\program files\exchsrvr\mdbdata\database_file_name.edb”
    1. If the database is in a consistent state, then the following text line is appeared:
State: Clean Shutdown
    1. Use the Infromation Store Integrity (isinteg.exe) utility with the below mentioned switches to repair the logical corruption:
Isinteg –s exchange_server_name –fix –test alltests
Run this command until you get zero errors and zero fixes for the same database in the output.
    1. Try to mount the Exchange database file.
For detail information about the above mentioned methods and utilities, go through this KB article: http://support.microsoft.com/kb/906148



However, if the above methods do not show satisfactorily solution and problem still exist, then you need to use a third-party Exchange Server recovery software to repair the database file. 

Stellar Phoenix Exchange Recovery is one such an effective tool that repair EDB file corrupted due to any reason. The software works well on Windows 7, Vista, XP, Server 2003, and 2000. In addition, this Exchange recovery software is able to recover deleted Exchange mailbox from EDB file. It is compatible with MS Exchange Server 2010, 2007, 2003, 2000 and 5.5 versions.