Link to home
Start Free TrialLog in
Avatar of bains1000
bains1000Flag for United Kingdom of Great Britain and Northern Ireland

asked on

Exchange 2007 dirty shutdown - URGENT Help required

We experienced a problem with our UPS and our SBS 2008 server rebooted last night.

we can't mount our exchange 2007 database
i have tried various repair options but all unsuccessful.

when i try the following command:

eseutil /R E00 /A

I get the following error:

D:\Program Files\Microsoft\Exchange Server\Mailbox\First Storage Group>eseutil /
R E00 /A

Extensible Storage Engine Utilities for Microsoft(R) Exchange Server
Version 08.01
Copyright (C) Microsoft Corporation. All Rights Reserved.

Initiating RECOVERY mode...
    Logfile base name: E00
            Log files: <current directory>
         System files: <current directory>

Performing soft recovery...



Operation terminated with error -501 (JET_errLogFileCorrupt, Log file is corrupt
) after 0.188 seconds.


Any suggestions on what I could do to repair this database?
I have an image of my server using Acronis Backup and Recovery from last night, if I were to extract the database and log files at a file level is there an easy way to restore this?

any help would be greatly appreciated, thanks.
ASKER CERTIFIED SOLUTION
Avatar of Pradeep
Pradeep
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of bains1000

ASKER

here are the results of eseutil /mh

Extensible Storage Engine Utilities for Microsoft(R) Exchange Server
Version 08.01
Copyright (C) Microsoft Corporation. All Rights Reserved.

Initiating FILE DUMP mode...
         Database: D:\Program Files\Microsoft\Exchange Server\Mailbox\First Stor
age Group\mailbox database.edb

        File Type: Database
   Format ulMagic: 0x89abcdef
   Engine ulMagic: 0x89abcdef
 Format ulVersion: 0x620,12
 Engine ulVersion: 0x620,12
Created ulVersion: 0x620,12
     DB Signature: Create time:08/02/2010 18:25:22 Rand:1867127 Computer:
         cbDbPage: 8192
           dbtime: 320967312 (0x13219290)
            State: Dirty Shutdown
     Log Required: 238333-238353 (0x3a2fd-0x3a311)
    Log Committed: 0-238354 (0x0-0x3a312)
   Streaming File: No
         Shadowed: Yes
       Last Objid: 80543
     Scrub Dbtime: 0 (0x0)
       Scrub Date: 00/00/1900 00:00:00
     Repair Count: 0
      Repair Date: 00/00/1900 00:00:00
 Old Repair Count: 0
  Last Consistent: (0x3A2F0,76D,B9)  09/27/2011 00:26:00
      Last Attach: (0x3A2F1,9,86)  09/27/2011 00:26:02
      Last Detach: (0x0,0,0)  00/00/1900 00:00:00
             Dbid: 1
    Log Signature: Create time:08/02/2010 18:25:21 Rand:1880863 Computer:
       OS Version: (6.0.6001 SP 1 NLS 500100.50100)

Previous Full Backup:
        Log Gen: 0-0 (0x0-0x0)
           Mark: (0x0,0,0)
           Mark: 00/00/1900 00:00:00

Previous Incremental Backup:
        Log Gen: 0-0 (0x0-0x0)
           Mark: (0x0,0,0)
           Mark: 00/00/1900 00:00:00

Previous Copy Backup:
        Log Gen: 238288-238307 (0x3a2d0-0x3a2e3) - OSSnapshot
           Mark: (0x3A2E3,43E,10)
           Mark: 09/26/2011 22:02:41

Previous Differential Backup:
        Log Gen: 0-0 (0x0-0x0)
           Mark: (0x0,0,0)
           Mark: 00/00/1900 00:00:00

Current Full Backup:
        Log Gen: 0-0 (0x0-0x0)
           Mark: (0x0,0,0)
           Mark: 00/00/1900 00:00:00

Current Shadow copy backup:
        Log Gen: 0-0 (0x0-0x0)
           Mark: (0x0,0,0)
           Mark: 00/00/1900 00:00:00

     cpgUpgrade55Format: 0
    cpgUpgradeFreePages: 0
cpgUpgradeSpaceMapPages: 0

       ECC Fix Success Count: none
   Old ECC Fix Success Count: none
         ECC Fix Error Count: none
     Old ECC Fix Error Count: none
    Bad Checksum Error Count: none
Old bad Checksum Error Count: none

Operation completed successfully in 0.717 seconds.



If I were to pull the database file and log files from backup at a file level would i be able to easily mount these?

thank you for your help
To resolve the specified error message, discard the damaged log file and restore it from the backup. But, in case you do not have backup, you need to repair the database. You can repair the database either by using the eseutil.exe (built-in Exchange Server tool for database repairing) or by using any third-party MS Exchange Recovery software.

Use of the third-party to repair exchange server database is always recommended because eseutil.exe may not help you perfectly in repairing the database. While, a third-party Exchange recovery software thoroughly scans the damaged database and repairs it. Kernel for Exchange Server is a third-party Exchange repair and recovery software, which supports Exchange Server 5.0, 5.5, 2000, 2003, and 2007.

I Can see that its in dirty state and nearly 20 logfiles are required.

Ok now try to do soft recovery using.
Eseutil/r E00 /l logfile path /d database path
I tried the soft recovery and got the following error:

Eseutil/r E00 /l "D:\Program Files\Microsoft\Exchange Server\Mailbox\First Storage Group" /d "D:\Program Files\Microsoft\Exchange Server\Mailbox\First Storage Group\mailbox database.edb"

Extensible Storage Engine Utilities for Microsoft(R) Exchange Server
Version 08.01
Copyright (C) Microsoft Corporation. All Rights Reserved.

Initiating RECOVERY mode...
    Logfile base name: E00
            Log files: D:\Program Files\Microsoft\Exchange Server\Mailbox\First
Storage Group
         System files: <current directory>
   Database Directory: D:\Program Files\Microsoft\Exchange Server\Mailbox\First
Storage Group\mailbox database.edb

Performing soft recovery...

Operation terminated with error -501 (JET_errLogFileCorrupt, Log file is corrupt
) after 0.265 seconds.


thanks for your help
Try /i in the end once please..
And BTW Wat is size of db..?
i got a similar error:


Eseutil/r E00 /l "D:\Program Files\Microsoft\Exchan
ge Server\Mailbox\First Storage Group" /d "D:\Program Files\Microsoft\Exchange S
erver\Mailbox\First Storage Group\mailbox database.edb" /i

Extensible Storage Engine Utilities for Microsoft(R) Exchange Server
Version 08.01
Copyright (C) Microsoft Corporation. All Rights Reserved.

Initiating RECOVERY mode...
    Logfile base name: E00
            Log files: D:\Program Files\Microsoft\Exchange Server\Mailbox\First
Storage Group
         System files: <current directory>
   Database Directory: D:\Program Files\Microsoft\Exchange Server\Mailbox\First
Storage Group\mailbox database.edb

Performing soft recovery...



Operation terminated with error -501 (JET_errLogFileCorrupt, Log file is corrupt
) after 0.203 seconds.

Database is about 120GB


thanks.
Wat about backups..?
If we r not having backup then the way out is running a hard repair, defrage & isinteg which I have mentioned above

But before doing anything mentioned above take a backup of database files. Make sure you are having enough permission on the files. Make sure that local harddisk is not having any bad sectors.
You should have space for taking backup as well as for doing repair and defrage.
For defrage u need 110% to the size of db size.
i have a backup image of the server, I would like to avoid restoring the complete image of the server as staff have been using the server today and file will be out of date.

I can extract the database and log files from the image as of last night at a file level, but will I be able to mount this easily?

thank you
ok i am assuming that you are having a separate machine to store the the backup images.

Now i am also assuming that you can mount that image and can see the data which you need.
So once copy the bin folder from exchange server installation loaction and copy it on the backup images machine.

Run eseutil/mh "database path" in command mode and now select the database file from the mounted image.
This is to check whether the backup image is clean or not.
Tell me if i am not that much clear. :)
i store backup images on a NAS box, however i have to extract the database, which is going to take a couple of hours, i have just started the process.

I haven't attempted to mount, i wasn't sure if it was as easy as that.


Berry, have you had much experience with the recovery tool, if so what has been your success rate with repairing exchange databases.  The software is reasonably pricey and I dont want to purchase if it is not going to repair?

thanks for your help so far.
Bains if you want to perform a repair, you can run do it with Eseutil without any issues.
But it will take a lot of time for repairing a 120 gb database.
Off course if we are not having any options then we must do it.
we may have to look at this option as I am not convinced that I will be able to simply mount the edb file from my file level backup... unless you have experienced otherwise?
Yes before i have done this, but many times i found that the database file in the backup images are also in same condition.
As these are image level backups we cant trust them fully, they will take the image along with corruption without any integrity check.
I can see that the database file was not repaired upto now.
So if you are having enough space and time, try repairing the database.
Never forget to have a copy of db, but in your case as you are having a image level backup you can atleast get the database incase of any loss.
I am currently running a hard repair, i will let you know how this goes.

thanks for your help
You are welcome Bains1000 :)
Hi

I ran the repair and it has finished, there are the results:

<i>
eseutil /p "D:\Program Files\Microsoft\Exchange Ser
ver\Mailbox\First Storage Group\mailbox database.edb"

Extensible Storage Engine Utilities for Microsoft(R) Exchange Server
Version 08.01
Copyright (C) Microsoft Corporation. All Rights Reserved.

Initiating REPAIR mode...
        Database: D:\Program Files\Microsoft\Exchange Server\Mailbox\First Stora
ge Group\mailbox database.edb
  Temp. Database: TEMPREPAIR11548.EDB

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.


                     Scanning Status (% complete)

          0    10   20   30   40   50   60   70   80   90  100
          |----|----|----|----|----|----|----|----|----|----|
          ...................................................


Scanning the database.

                     Scanning Status (% complete)

          0    10   20   30   40   50   60   70   80   90  100
          |----|----|----|----|----|----|----|----|----|----|
          ...................................................


Repairing damaged tables.

                     Scanning Status (% complete)

          0    10   20   30   40   50   60   70   80   90  100
          |----|----|----|----|----|----|----|----|----|----|

Deleting unicode fixup table.
...................................................


Repair completed. Database corruption has been repaired!

Note:
  It is recommended that you immediately perform a full backup
  of this database. If you restore a backup made before the
  repair, the database will be rolled back to the state
  it was in at the time of that backup.



Operation completed successfully with 595 (JET_wrnDatabaseRepaired, Database cor
ruption has been repaired) after 21404.289 seconds.
</i>

I then attempted to mount the database but it would not mount, i am currently running a defrag, could you have expected to have been able to mount it after the repair?

thanks
i have defraged the database, still had problems mounting so i moved out the log 24 log files from the log folder and now the database has mounted.

I am currently running a full backup, I haven't ran an integrity check yet, i did run eseutil /mh and the database was showing clean shut-down, how relevant do you think the integrity check is?

thanks for all your help so far.
its very important to do the ISINTEG post repair and defrag since you still may have other issues within the DB.