You receive a "The database files in this storage are inconsistent" error message when you try to mount a mailbox store or a public store in Exchange 2000 Server (906148)



The information in this article applies to:

  • Microsoft Exchange 2000 Enterprise Server
  • Microsoft Exchange 2000 Server

SYMPTOMS

When you try to mount a mailbox store or a public store in Microsoft Exchange 2000 Server, you receive the following error message:
The database files in this storage are inconsistent
Id no: c1041739
Additionally, every time that you try to the mount a database, the following events are logged 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.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

This problem occurs if the mailbox store database or the public store database is in an inconsistent state.

RESOLUTION

To resolve this problem, use the Microsoft Exchange Server Database utility (Eseutil.exe) to confirm the state of the database that does not mount. Then, restore or repair the database as appropriate. These procedures are described in detail in the following sections. After you repair or restore the database, you will be able to mount the database.

Confirm the state of the database

To confirm the state of the database, follow these steps:
  1. Open a command prompt.
  2. Move to the Drive:\Program Files\Exchsrvr\Bin folder.

    By default, the Exchange 2000 Server program files are installed in this folder.
  3. Type the following command:

    eseutil /mh "drive:\program files\exchsrvr\mdbdata\database_name.edb"

    By default, the database files are stored in the Drive:\Program Files\Exchsrvr\MDBDATA folder. Additionally, the mailbox store database file is named "Priv1.edb". The public store database file is named "Public.edb".
  4. Review the output to determine the state of the database. If the database is in an inconsistent state, the following text appears in the output:

    State: Dirty Shutdown

Restore or repair the database

After you confirm that the database is in an inconsistent state, repair or restore the database. If you have recently performed a full backup of the storage group, use method 1. If you have not recently performed a full backup of the storage group, use method 2.

Method 1: Restore the database from a backup file

To restore the database from a backup file, follow these steps:
  1. Move the E00.log file to a new location. Or, rename the E00.log file. By default, the E00.log file is stored in the Drive:\Program Files\Exchsrvr\MDBDATA folder.
  2. Restore the storage group and the log files from the backup file.

    Note Make sure that you do not remove the existing log files before you perform the restore operation. When the log files are restored, they will replay into the restored database. The database will then be brought into a consistent state without the E00.log file.
  3. After the storage group is restored, mount the databases in the storage group.

Method 2: Repair the database

  1. Open a command prompt.
  2. Move to the Drive:\Program Files\Exchsrvr\Bin folder.
  3. Type the following command:

    eseutil /p "drive:\program files\exchsrvr\mdbdata\database_file_name.edb"

  4. Defragment and rebuild the database so that you can use this database in a production environment. To do this, type the following command:

    eseutil /d /t:x "drive:\program files\exchsrvr\mdbdata\database_file_name.edb"

    Note In this command, x is a temporary drive location that has free drive space that is equal to at least 110 percent of the size of the database that will be defragmented.
  5. Verify that the status of the database is consistent. To do this, type the following command, and then review the output:

    eseutil /mh "drive:\program files\exchsrvr\mdbdata\database_file_name.edb"

    If the database is consistent, the following text appears in the output:

    State: Clean Shutdown

  6. Use the Microsoft Exchange Server Information Store Integrity utility (Isinteg.exe) to repair the logical corruption of the database. To do this, type the following command at the same command prompt:

    Isinteg -s exchange_server_name -fix -test alltests

    When you run this command, you are prompted to select the database against which you want to run the Isinteg utility. Repeat this command for the same database until you receive zero errors and zero fixes in the output.

    Important If you do not receive zero errors for a database after you run this command several times, you must rebuild the database by creating a new mailbox store on this server or on another Exchange Server server. Then, you must move all the mailboxes to the new store. If you cannot create a new mailbox store, you must rebuild the database by using the following method. Export all data to .pst files, delete the database, and then import the data from the .pst files.
  7. Repeat steps 3 to 6 for each database in the storage group.
  8. Mount the databases.
  9. After the databases are mounted, perform an online backup of the storage group.

REFERENCES

For more information about the Eseutil utility and about the Isinteg utility, click the following article numbers to view the articles in the Microsoft Knowledge Base:

182903 ESEUTIL command line parameters

259851 Ramifications of running the eseutil /p or edbutil /d /r command in Exchange

301460 Exchange command-line parameters for the Isinteg.exe tool


Modification Type:MinorLast Reviewed:9/15/2005
Keywords:kbprb KB906148 kbAudITPRO