I’ve been using Microsoft Exchange 2003 and playing with it for almost 4 years and during these 4 years, I have encounter many kind of issues involving this product. And the father of all this “issues” is exchange database “Dirty Shutdown”. This is by far the worst and most common issues that I’ve heard or experience.
So what is exchange “Dirty Shutdown”?
As the name suggest, “Dirty Shutdown” is when the MS Exchange shutdown dirtily, whatever that means. All jokes aside, it’s actually really bad even disastrous. A “Dirty Shutdown” happens whenever the Information Stores have not been closed in a properly manner. This might be due to power outage or power surges or any other action that might caused the server to be inproperly shutdown.
Most people usually think of dirty shutdown as the indication of damaged database. But that’s not the case at all. It’s just that Exchange database has not been shut normally and therefore it becomes our area of concern as it leads to corruptions in Exchange database .EDB and .STM files.
A Dirty Shutdown state does not indicate the database is corrupted or damaged. A Dirty Shutdown state indicates only that the database files were not detached from the log stream correctly. Therefore, before you can start the database again, you must first recover the database files.
The next time that the database is mounted, this recovery is run automatically. If automatic recovery fails, you can use the Microsoft Exchange Server Disaster Recovery Analyzer Tool to analyze the reasons for failure. After analysis, the Exchange Server Disaster Recovery Analyzer will provide recommendations for manually recovering the database files.
So how to check for Dirty Shutdown?
Login to you Exchange Server that you want to run the check and follow these steps.
- Click Start, and then click Run.
- In the Open box, type CMD, and then click OK.
- Switch to the C:\Program Files\ExchSrvr\Bin folder, type one of the following commands (as appropriate to your situation), and then press ENTER:
- type in eseutil /mh <My_Database_Name.edb>
eseutil /mh "c:\program files\exchsrvr\mdbdata\priv1.edb"
Find State: when you have “Dirty Shutdown” it will say “State:Dirty Shutdown”.