[Last Call] Learn how to a build a cloud-first strategyRegister Now


Dirty Shutdown on Exchange 2003

Posted on 2008-06-24
Medium Priority
Last Modified: 2008-12-08
I am suffering a dirty shutdown on exchange 2003.  After reading and re-reading all the KB's and tips and tricks and every other tidbit of information out there I am a little reluctant on jumping in head first so I wanted to get some advice.  Here is the cut from the trouble shooter that I ran.
You can use Eseutil.exe to manually recover a database. In-place manual recovery runs simultaneously for all databases in the storage group. To do an in-place recovery with Eseutil.exe:
1. Copy all existing transaction log files to a safe backup location. Manual recovery may alter the current transaction log in such a way that missing databases or previous backups cannot be restored. The backup copies of the log files may be required to fully recover backups or missing databases.
2. Open a Command Prompt window and change the default directory to the transaction log file directory (for example, CD /D C:\Logs).
3. Run this Eseutil.exe command from inside the transaction log folder:

  C:\Exchsrvr\bin\eseutil.exe /R E00 /I
Now the steps:
Step 1 I want to make sure I copied the transaction log files to a "safe place" so I copied the whole EXCHSVR folder.  Will that cover everything?
Step 2 Open a command prompt window and change the default directory to the transaction lof file directory.  Change what default directory?  From the command prompt?
Step 3 run the eseutil from inside the transaction folder?  How do I get it there when it is located in the .bin file?  
These directions are not very clear, can someone help please.
Question by:RICHRICH26
  • 3
  • 2

Accepted Solution

jryan1099 earned 2000 total points
ID: 21858528
i would just worry about the EDB files, run the ese util on them. If the service doesnt start, you know it still needs work. Perhaps run it a few times. You can also make a VM (VMWARE machine) and copy the databases there and try to restore. You would need to also install exchane on this VM or course. here is an outline on what to do....

1. Make sure the databases are dismounted in ESM.

2. Before running the Hard Repair, I would suggest you to make a copy of the priv1.edb , priv1.stm and pub1.edb , pub1.stm

  Now From a command prompt, run eseutil in the repair mode syntax should be:

              Eseutil /p "c:\program files\exchsrvr\mdbdata\priv1.edb"


            -Using ESEUTIL /p is a last resort utility that is only run when databases will not mount due to inconsistancy.

            -ESEUTIL /p deletes any data needed (corrupt data or incomplete transactions) to bring the database to a consistent state.

            -ESEUTIL /p runs at about 3-5 Gig of data per hour.

            -NOTE: Do not click in the command prompt screen, it causes the ESEUTIL process to PAUSE, if this occurs you can press the F5 key to resume.


 3. Once that completes, run the same command against the pub1.edb file.

4. Run an offline defrag of both databases. The syntax should be:

              Eseutil /d "c:\program files\exchsrvr\mdbdata\priv1.edb"


            -You must have at least 110% free space, relative to the database size to run ESEUTIL /D.
            -If you do not designate a temp location using the t command, it defaults to the directory EXCHSRVR/BIN
            -ESEUTIL /d runs at about 3 to 5 Gig per hour
            -After running /d you must remove any log files in the MDBDATA folder before mounting the database.

            How to Defragment with the Eseutil Utility (Eseutil.exe) http://support.microsoft.com/?id=192185

5. Once that completes, run the same command against the pub1.edb file.

6. Disable the SMTP service prior to mounting the databases to prevent new email from coming in to the databases.

    Mount the databases with the repaired/defraged database.

    Logon to make sure you can access one of the mailboxes, but will want to then immediately dismount both of the stores

7. You will then need to run an isinteg to fix any corruption at the store level.

    The syntax should be:

               Isinteg -s servername -fix -test alltests


            - ISINTEG Must be run after ESEUTIL /P or ESEUTIL /d to remove logical corruption caused by deletions

            - ISINTEG -FIX runs at about 2 to 10 minutes per Gig of data

            - Select the database to run the utility against. (The database must be dismounted)
            - ISINTEG will create a log file named ISINTEG.PRI in the MDBDATA folder (open with Notepad)
            - Note the number of FIXES we get after each run of ISINTEG -FIX. We will need to run this till we get 0 fixes.  
            - This may take 3 or more times.
            - Also note the number of errors we get after each run of ISINTEG -FIX
            - Once we get 0 FIXES note the number of errors.

            Description of the Isinteg Utility http://support.microsoft.com/?id=182081 

Additional Information:

How to recover from information store corruption


Author Comment

ID: 21858710
I guess my problem is not knowing the correct syntax.  Also I do not have a .stm file.  My files are located

c:\program files\exchsrvr.mdbdata\priv1.edb what would the syntax be?

Author Comment

ID: 21865472
Ok, here is what I have done so far.  I am getting the error now C1041724.  Last night very late I did the eseutil /p on pub1.edb and the eseutil /p on priv1.edb.  It said it was successful.  This morning I did the /d on both priv1 and pub1 and it said defrag was successful.  I tried to mount the store and it would not mount.  I keep getting the error C1041724.  I am not sure if I needed to do anything with the transaction logs that start with E00 (which I didnt do anything with them)

Expert Comment

ID: 21865828
Sir, you do not have enought space on your disk. That is the error.

Author Comment

ID: 21866178
Actually, It wasnt a space problem, I never deleted the logs (E00) once I did that the store mounted perfectly fine.

Featured Post

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Steps to fix “Unable to mount database. (hr=0x80004005, ec=1108)”.
Mailbox Corruption is a nightmare every Exchange DBA wishes he never has. Recovering from it can be super-hectic if not entirely futile. And though techniques like the New-MailboxRepairRequest cmdlet have been designed to help with fixing minor corr…
To add imagery to an HTML email signature, you have two options available to you. You can either add a logo/image by embedding it directly into the signature or hosting it externally and linking to it. The vast majority of email clients display l…
This video discusses moving either the default database or any database to a new volume.
Suggested Courses
Course of the Month17 days, 22 hours left to enroll

831 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