MS Exchange 2007 database corrupt

Posted on 2012-08-16
Last Modified: 2012-08-17
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.

Question by:tcampbell_nc
    LVL 52

    Expert Comment

    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
    LVL 52

    Accepted Solution

    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
    LVL 33

    Assisted Solution

    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)

    LVL 1

    Author Closing Comment

    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.

    Write Comment

    Please enter a first name

    Please enter a last name

    We will never share this with anyone.

    Featured Post

    Threat Intelligence Starter Resources

    Integrating threat intelligence can be challenging, and not all companies are ready. These resources can help you build awareness and prepare for defense.

    You might have come across a situation when you have Exchange 2013 server in two different sites (Production and DR). After adding the Database copy in ECP console it displays Database copy status unknown for the DR exchange server. Issue is strange…
    Easy CSR creation in Exchange 2007,2010 and 2013
    In this video we show how to create an Address List in Exchange 2013. We show this process by using the Exchange Admin Center. Log into Exchange Admin Center.: First we need to log into the Exchange Admin Center. Navigate to the Organization >> Ad…
    To show how to create a transport rule in Exchange 2013. We show this process by using the Exchange Admin Center. Log into Exchange Admin Center.: First we need to log into the Exchange Admin Center. Navigate to the Mail Flow >> Rules tab.:  To cr…

    761 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    15 Experts available now in Live!

    Get 1:1 Help Now