Exchange database restore: Dirty Shutdown

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?

Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

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
Problems using Powershell and Active Directory?

Managing Active Directory does not always have to be complicated.  If you are spending more time trying instead of doing, then it's time to look at something else. For nearly 20 years, AD admins around the world have used one tool for day-to-day AD management: Hyena. Discover why

12vltmnAuthor Commented:
@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.
12vltmnAuthor Commented:
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.
12vltmnAuthor Commented:
@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.
12vltmnAuthor Commented:
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.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
12vltmnAuthor Commented:
The responses I received were not clear nor concise.  After trying multiple possible solutions I seem to have hit on the one that works.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.