The following errors are logged in the Exchdb.log:
ESE version: 6.6603.0, database version: 620.9
Nov 18, 16:01:15.047 [2244:0968] 17 - RepairDBsProgressFunc( DWORD dw1 = 0x400006, DWORD op = 0x2, DWORD i2 = 0x5, ( (_STATUS*)pv->dwSize = 0x0, pv->dwMax = 0x0, pv->dwCurrent = 0x0 )
Nov 18, 16:01:15.191 [2244:0968] 1 - Cannot repair the database C:\EX\MDBDATA\priv1.edb: a read was issued to a location beyond EOF (writes will expand the file)
Header File:
State: Dirty Shutdown
Checking database integrity:
The database is not up-to-date. This operation may find that this database is corrupt because data from the log files has yet to be placed in the database.
To ensure the database is up-to-date please use the 'Recovery' operation.
Operation terminated with error -540 (JET_errDatabaseStreamingFileMismatch, Database and streaming file do not match each other) after 14.0 seconds.
Run the Eseutil with the /g and /mh switches, which can be found in this Microsoft KB Article: http://support.microsoft.com/default.aspx?scid=kb;en-us;317014
Include the below commands:
Please replace the path to edb file with the actual path to the information store.
c:\exchsrvr\bin> eseutil /mh c:\path to edb file\priv1.edb >c:\header.txt
c:\exchsrvr\bin> eseutil /g c:\path to edb file\priv1.edb >c:\integ.txt
If the header file is stating a dirty shutdown and the integrity check file is saying that the edb and stm files don't match, it is suggested to try the hard repair without the stm file. If that doesn't work, unfortunately the product will not be able to fix the edb file and mount it because it's beyond repair of what Recovery Manager can do.
You can try using Microsoft tools like EseUtil or the ISINTEG which might get the database to a stable state for our product to mount, but you won't be able to use the database on an actual Exchange server.