We help IT Professionals succeed at work.

MS Exchange 2007 database corrupt

tcampbell_nc asked
Hello All....

I have a single node, MS Exchange 2007 server that experienced a hard drive failure (RAID 5) last night.  In the process, Exchange failed.

I have replaced the failed drive twice today.  Each time, the array rebuilds, and exchange starts, but after about 45-60 minutes, the message store crashes:

Event ID: 481 - ESE - An attempt to read from the file <path>\mailbox Database.edb at <ofset information> failed after 0 seconds with system error 1: "Incorrect function".  The read operation will fail with error -1022.  If this error persists then the file may be damaged and may need to be restored from a previous backup.

I then get another event:

Event ID: 1159 - MSExchangeIS - Database error Disk IO error occurred in function JTAB_BASE::EcRetrieveColumnByPtagId wile accessing the database...

I am assuming the database is corrupt.  The failure occurred during last night's backup.  I would prefer to "repair" instead of going to an older backup.  

What is the best method to repair, and how long should it take.  The db size is about 100G.

Watch Question

Manpreet SIngh KhatraSolutions Architect, Project Lead
Top Expert 2013

Agree with you :)

I would suggest to Restore from last night .... repair the current DB place in RSG and get the data for the day or preferably MERGE :)

Repair would run approx at 5-8GB per hour i would say .... but depends a lot on your server performance.

- Rancy
Solutions Architect, Project Lead
Top Expert 2013
Method to repair would be ....

1. Make sure to create a copy of the Database before proceeding with the Repair.
2. eseutil /p "EDB file location"
3. eseutil /d "EDB file location"
4. ISINTEG command

Ideally "eseutil /p" would do for us as we just need to bring the DB in good state to mount and merge the data from RSG.

- Rancy
Why make the users suffer cause the stores are going offline.
If you database is offline now, OR going offline - there are couple of quick points that you can work with.

1) Bring the database to clean shutdown state.
2) That is to dismount the stores gracefully.
3) Place the database in RSG and mount blank store.
4) Take backup of RSG Database.
4) Run hard repair / offline defrag and IsInteg on the database.
5) Once the database is mount-able
6) Swap the database from RSG to production and production to RSG
7) Mount both database
8) Start Merging smaller database from RSG into production
9) End Result = ZERO downtime for users (except few minutes of copying database)



Both solutions are great, but alas neither will correct my issue.<br /><br />It turns out that my array is corrupt.  Dell informed me that the "Punctured" drives means the array, itself, is bad.  The solution.... Delete the array and recreate it (twice) to flush out the stored array information, then restore from backup.  <br /><br />I was able to determine that part of the mailbox database was stored on the 10 bad clusters on the drive (before drive replacement) and that replacing the drive allowed the array to recreate the 10 bad clusters on the new drive.  <br /><br />Bottom line, I ran a chkdsk to let the OS find and mark the "bad" clusters so they would not be used again.  I lost 40Mb of a 100Gb database.  I am receiving periodic check errors from ESE that I will address with either eseutil, or splitting my 100G information store into multiple 30G stores, thus performing the error correction and defrag when the mailboxes are moved to a new store.<br /><br />The wipe and restore from backup is another issue entirely.

Explore More ContentExplore courses, solutions, and other research materials related to this topic.