Solved

Microsoft Exchange 2003 Mailbox Store Shutdown State = Dirty (AP)

Posted on 2010-08-17
12
1,168 Views
Last Modified: 2012-05-10
Basically, one of our Exchange servers went down :(

Now it wont mount some of the exchange mailbox stores, when doing an ESEUTIL /MH on the mailbox store I am receiving these:

State: Dirty Shutdown
Log Required: 114128-114132 (0x1bdd0-0x1bdd4)

How do I find out which log files it actually needs and then how do I import them into the EDB file so I can mount the database?
0
Comment
Question by:tlcsupport
  • 5
  • 4
  • 3
12 Comments
 
LVL 5

Expert Comment

by:adaroc
ID: 33460098
First see the application log to know the reason why it went to dirty shutdown.

  Then check the logs required for making this database into clean  shutdown i.e run eseutil /mh path of the database just below the status  you will logs required.

this article will help in identifing : http://support.microsoft.com/kb/240145
 
 Make sure that those logs are available if it is available then you need to go with eseutil /r

post back results
0
 
LVL 1

Author Comment

by:tlcsupport
ID: 33460114
I did the /MH and got:

State: Dirty Shutdown
Log Required: 114128-114132 (0x1bdd0-0x1bdd4

but that doesn't match up with the filename format of the log files.

Here is the full outcome of the /mh

C:\Program Files\Exchsrvr\bin>eseutil /mh "S:\Exchsrvr\MDBDATA\Storage Group 3\M
ailbox Store 3.edb"

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

Initiating FILE DUMP mode...
         Database: S:\Exchsrvr\MDBDATA\Storage Group 3\Mailbox Store 3.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:11/23/2006 14:36:12 Rand:109826350 Computer:
         cbDbPage: 4096
           dbtime: 498246677 (0x1db2a415)
            State: Dirty Shutdown
     Log Required: 114128-114132 (0x1bdd0-0x1bdd4)
   Streaming File: Yes
         Shadowed: Yes
       Last Objid: 139629
     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: (0x1BB58,14F8,172)  08/17/2010 09:26:50
      Last Attach: (0x1BB58,14FA,CE)  08/17/2010 09:26:50
      Last Detach: (0x0,0,0)  00/00/1900 00:00:00
             Dbid: 2
    Log Signature: Create time:11/23/2006 14:36:10 Rand:109818909 Computer:
       OS Version: (5.2.3790 SP 2)

Previous Full Backup:
        Log Gen: 109205-109274 (0x1aa95-0x1aada)
           Mark: (0x1AA9A,4BA,13B)
           Mark: 08/13/2010 20:49:54

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.0 seconds.
0
 
LVL 5

Expert Comment

by:adaroc
ID: 33460181
hi

you must convert the decimal  range that is listed in the  Log Required field to hexadecimal values. For example, if the Log Required value is 28217 – 28221, log files from 06E39 to 06E3D are required by this  database. In Exchange Server 2003 SP1, the Log Required field has been enhanced to report both decimal and hexadecimal values.

Note You can use the Scientific mode of the Windows Calculator to convert from decimal to hexadecimal. Start the Calculator, and then click Scientific on the View menu. Enter the decimal number, and then click Hex.

post back results
0
Efficient way to get backups off site to Azure

This user guide provides instructions on how to deploy and configure both a StoneFly Scale Out NAS Enterprise Cloud Drive virtual machine and Veeam Cloud Connect in the Microsoft Azure Cloud.

 
LVL 1

Author Comment

by:tlcsupport
ID: 33460205
Ah-ha! Genius!

Ok, so I now have the 4 log files. It seems that all 5 stores in the Storage Group require these 4 log files.

How do I go about importing them into the 5 .edb files so I can get email back online and working?
0
 
LVL 5

Accepted Solution

by:
adaroc earned 250 total points
ID: 33460236

1) Copy all the original database and log files to somewhere safe.   Then also copy them into a working directory.  Eseutil will modify the  files in situ so if it goes wrong you don't want your original files  modified.
You need to have a copy of the database files (*.edb and  *.stm) plus the transaction logs (Exx*.log where xx is a number  relating to the information store).  The location of the files is  available from exchange system manager, but you really should know where  they all are anyway.
I'm going to assume the temp directory for  the database files is e:\temp\data and they're called exchdb.edb,  exchdb.stm. If they reside in the 1st storage group, the transaction  logs will be called E00.log (this is the most recent base file) and  E00xxxx.log etc (these are the old logs).  Lets assume these are copied  to e:\temp\logs.  You need to replace these with your own  paths/filenames of course.
2) Check the database state and expected log files with
eseutil.exe /mh e:\temp\data\exchdb.edb
The  output will show a line State: which will be either clean or dirty  shutdown.  If it's clean, then you don't need this article :)
It  will also show which logs are required e.g. which hadn't yet been played  into the database when the dirty shutdown occured.  If you have any  missing then you will have lost email.  This generally only occurs if  you lost a log drive and have replicated copies of the logs you can use.
3) "Recover" the database.  This replays missing transaction logs into the database file - run:
eseutil.exe /r E00 /d"e:\temp\data\exchdb.edb"
You might receive an error that there is an outstanding database attachment.  In this case use the /i switch in the command
eseutil.exe /r E00 /d"e:\temp\data\exchdb.edb" /i
4) recheck the database state with the command in 2). If it still shows dirty shutdown you need to repair the database with:
eseutil /p e:\temp\data\exchdb.edb
5) Recheck the database once more and it should show clean shutdown.  At this point you should defrag the database
eseutil /d e:\temp\data\exchdb.edb
6)  The file is now in a clean state and is ready to be put back into  exchange so copy it back to the original location on your exchange  server but don't yet mount the file.  The last step before mounting the  file is to get rid of any remaining errors using isinteg.exe.   This tool requires the database to be in the original location on the  original exchange server.  It needs to be run several times until it no  longer reports any errors.
7) Once the database file has no more errors you can now remount it in exchange.

post back results
0
 
LVL 1

Author Comment

by:tlcsupport
ID: 33460259
Ok, it looks like its after 5 log files, E021BDD0 to E021BDD4

BDD0,1,2,3 are in the log folder, but BDD4 is not. Ideas?
0
 
LVL 28

Expert Comment

by:sunnyc7
ID: 33460445
You are in good hands @adaroc's last post. Its complete

I have a few things to add.
A) make sure you have 1.5x free space of your edb size.
If your edb is 10gb then you need 15gb free space
0
 
LVL 1

Author Comment

by:tlcsupport
ID: 33460460
This is the outcome with the /i switch on:

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

Initiating RECOVERY mode...
    Logfile base name: E02
            Log files: <current directory>
         System files: <current directory>
   Database Directory: C:\logs\powa.edb

Performing soft recovery...



Operation terminated with error -528 (JET_errMissingLogFile, Current log file mi
ssing) after 1.16 seconds.
0
 
LVL 28

Assisted Solution

by:sunnyc7
sunnyc7 earned 250 total points
ID: 33460462
I clicked post before I could finish...sorry.

a) Make sure you take a backup of EDB's and log files on a external HDD before you attempt the eseutil /p /d

b) You need to try the soft-recovery option first using adaroc's point # 3

3) "Recover" the database.  This replays missing transaction logs into the database file - run:
eseutil.exe /r E00 /d"e:\temp\data\exchdb.edb"
You might receive an error that there is an outstanding database attachment.  In this case use the /i switch in the command
eseutil.exe /r E00 /d"e:\temp\data\exchdb.edb" /i

Please post back the results.
0
 
LVL 28

Expert Comment

by:sunnyc7
ID: 33460470
Can you try that

eseutil /r e00 /i /l"c:\ PATH TO LOG FILEs..." /d"g:\...PATH TO DATABASE"
0
 
LVL 5

Expert Comment

by:adaroc
ID: 33470442
hi

whats the state of play pls ?
0
 
LVL 1

Author Comment

by:tlcsupport
ID: 33610317
In the end we got hold of Microsoft and had to do a restore of the exchange backup as the database was "corrupt beyond repair"
0

Featured Post

Windows Server 2016: All you need to know

Learn about Hyper-V features that increase functionality and usability of Microsoft Windows Server 2016. Also, throughout this eBook, you’ll find some basic PowerShell examples that will help you leverage the scripts in your environments!

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
EXCHANGE, ACTIVE DIRECTORY 1 29
outlook 6 35
Delete Public Folder DB after migration 4 14
Archive Office365 Email Account 2 13
Exchange server is not supported in any cloud-hosted platform (other than Azure with Azure Premium Storage).
While rebooting windows server 2003 server , it's showing "active directory rebuilding indices please wait" at startup. It took a little while for this process to complete and once we logged on not all the services were started so another reboot is …
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…
This video shows how to quickly and easily add an email signature for all users on Exchange 2016. The resulting signature is applied on a server level by Exchange Online. The email signature template has been downloaded from: www.mail-signatures…

806 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