Exchange database restore: Dirty Shutdown

12vltmn used Ask the Experts™
I have a situation where an employee left the firm and deleted his email.  Since he was a trusted employee (mistake!) no one thought to check for this until after the retention period had expired.  I was asked to restore from backup and retrieve his mailbox from a previous date.  For some reason I cannot complete the eseutil /r process and replay the log files.  I keep getting errors:

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

The eseutil /mh reported a Dirty Shutdown and said I needed log file E0025286.  I retrieved that from backup on same day, renamed it to E00.log, but got the error.  So I thought, hmmmm....maybe the log file is truncated.  So I checked the backup from the next day and found a log file with the same name.  I tried that one, changing the name to E00.log but got the error.  I then tried using the older 25286 (original file name) with the newer 25286 renamed E00.log.  Got the error.

I decided screw it, I'm running a repair.  But the eseutil /p priv1.edb command now comes back with an error:

Error: Access to source database 'priv1.edb' failed with Jet error -1811.

Operation terminated with error -1811 (JET_errFileNotFound, File not found) afte
r 3.94 seconds.

The .edb file is there but I notice it now has a new date stamp with today's date.  I'm stumped.  I'm doing all of this utility work on an external USB drive.  I have performed this task once before and it worked but this time it is not going so well.

Any ideas?

Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®

Run the utility from the directory where the file exists.  Also make sure you have 2x the amount of space available to allow for the temp file to be created.  

I believe you also need to make sure Information Store is not running.
File not found error means it is not finding the file to repair. please use the proper path.

Please dont rename any log files and copy the missing log file to trnsaction logs location and then replay gain logs using Eseutil /r / e00 /i  command
Ensure you’re charging the right price for your IT

Do you wonder if your IT business is truly profitable or if you should raise your prices? Learn how to calculate your overhead burden using our free interactive tool and use it to determine the right price for your IT services. Start calculating Now!


@ltsweb:  I am running the utility from the same directory as the location of the database files and log file.  I placed the \bin folder in the search path so I can run it from anywhere on the server.  I have an external USB drive attached, a folder created on that drive, and the database files and log file in that folder.  From a DOS prompt in that folder I run the utility.  From everything I have read, nothing states I have to do anything with the information store.  Once the log files are replayed into the database I will copy to the Recovery Storage Group and use ExMerge to pull out the mailbox.

@R-R:  As stated, the database files and log file are in the same directory on a USB drive.  I  use this command from that directory:  eseutil /r E00 /i /d
When the process starts it says "database files in current directory | log files in current directory | system files in current directory

@ash007:  when I do not rename the log file I get an error saying the log file was not found.  I'm sure I read somewhere that I must rename the last log file in the sequence to "E00.log".  Since there is only one log file needed to replay, I renamed it E00.log.  I tried running the recovery without renaming and I get the error I just mentioned.  When you say copy to transaction logs don't mean to live location, do you?  This is a recovery operation for the Recovery Storage Group.  I'm not messing with my live logs.


The results from eseutil /mh priv1.edb:

X:\092411>eseutil /mh priv1.edb

Microsoft(R) Exchange Server Database Utilities
Version 6.5
Copyright (C) Microsoft Corporation. All Rights Reserved.

Initiating FILE DUMP mode...
         Database: priv1.edb

        File Type: Database
   Format ulMagic: 0x89abcdef
   Engine ulMagic: 0x89abcdef
 Format ulVersion: 0x620,11
 Engine ulVersion: 0x620,11
Created ulVersion: 0x620,11
     DB Signature: Create time:09/23/2011 21:07:54 Rand:888357446 Computer:
         cbDbPage: 4096
           dbtime: 39898344 (0x260cce8)
            State: Dirty Shutdown
     Log Required: 193158-193158 (0x2f286-0x2f286)
   Streaming File: Yes
         Shadowed: Yes
       Last Objid: 10710
     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: (0x2F279,121A,105)  09/24/2011 16:24:58
      Last Attach: (0x2F279,1223,1C)  09/24/2011 16:26:42
      Last Detach: (0x0,0,0)  00/00/1900 00:00:00
             Dbid: 1
    Log Signature: Create time:07/14/2006 20:40:20 Rand:14496968 Computer:
       OS Version: (5.2.3790 SP 2)

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

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 3.312 seconds.

The database is in a dirty state which means you need to repair it.

Microsoft will recommend you restore from backup.  

Your next step is eseutil /p. see

Note, you risk loosing data!

You will run it and then delete the old logs.  

You will also need to run isinteg -fix alltests to plug any errors in the file.


For process.

Good luck.


@ltsweb:  This IS a database restored from backup.  I am trying to recover a mailbox using Recovery Storage Group.  The log files won't replay, and I have already run eseutil /p on the database and it is still in a dirty shutdown state so it will not mount in the RSG.  Do you know if there is any way to run a utility on the log files themselves to see if they are truly corrupted and possibly repair them?  Per my previous posts I have tried to repair using eseutil /r and I get errors stating the log files are corrupt.  I thought I could only run isinteg on the "active" information store.  Can it be applied to a database in the RSG?  My thinking is no since you can't actually tell the utility which store, it just runs on the active...I believe.
I finally was able to successfully do a repair on the database.  I restored a backup from a different date.  It was in a dirty shutdown state and said it only required one log file.  Rather than restoring only that one log file, I restored all of the log files from that backup date.  I ran "eseutil /r E00 /i /d" and it successfully replayed the log files into the database.  After, I ran "eseutil /mh" and it returned a clean shutdown state.  So, contrary to what I have read in the article from Microsoft, instead of restoring only the transaction logs that are shown as "needed" and renaming the last log in the sequence to "E00.log" I restored all the log files and did not rename the last log in the sequence. The repair utility created a checkpoint file as well as a new E00.log file.  The repair was successful and I am now copying to the RSG so I can extract the mailbox using ExMerge.


The responses I received were not clear nor concise.  After trying multiple possible solutions I seem to have hit on the one that works.

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial