Strategies to Repair Exchange 2007 Database After Dirty Shutdown
Introduction
The Exchange Server 2007 database is built on Microsoft Joint Engine Technology (JET) Blue engine technology, which is also known as Extensible Storage Engine. The fundamental feature of this engine is to provide crash recovery mechanism for maintaining the data consistency, in occurrence of system crash event. It intelligently performs the caching procedure for ensuring high performance of accessing data. Here, you will come to know the way to repair Exchange 2007 database after dirty shutdown.
What is Dirty Shutdown?
The JET Blue engine marks the database pages as DIRTY, until the database updation procedure is not complete. The situation is termed as Dirty Shutdown (an inconsistent state), when system abnormally shuts down and because of which it interrupts transaction process to perform commit action to the database.
Errors Caused Due to Dirty Shutdown
-
Error 550
“Operation terminated with error -550 JET_errDatabaseDirtyShutdown, Database was not shutdown cleanly. Recovery must be run to properly complete database operations for the previous shutdown.”
-
Error 528
“Exchange is unable to mount the database that you specified database:0f7705584961-4a57-9008-2549f8f19116;Error Code:MapiExceptionCallfailed:Unable to mount database.(he=0X80004005,ec=-528).”
-
Dirty Shutdown Error
“Database was not shutdown cleanly (dirty shutdown).”
Describing the Problem
When Exchange Server 2007 starts, it ensures whether there are any pending transactions to be written on the database or not. In the scenario when database is connected to transaction log, Exchange Server gets disconnected from it by replicating available log files.
The data consistency of Engine database depends upon the transactions that are being committed completely in the database. Moreover, such functioning is marked as atomicity and durability features of ACID property.
Therefore, to validate the current state of database go through the following procedure:
Open Command Prompt on your machine
Write below-mentioned cmdlet for checking current status of public folder
Now
to check
the current state of private
folder,
type
the following cmdlet:
Now if the state attribute is Clean Shutdown, then it means that data is in consistent state.
If the state is Dirty Shutdown, then it refers to the inconsistent state of database.
Strategies for Fixing the Problem
Technique 1: Go For Manual Solution
There are different strategies to repair Exchange 2007 database after dirty shutdown according to different situations. Below-mentioned are the techniques explained for handling the problem in different situations:
Situation 1: Clean State of LOG Files
By performing soft recovery of database, you can resolve the problem. When it is re-mounted during an unexpected termination, the transaction log files are replicated. Moreover, it can be performed by making use of Exchange Storage Engine Utility. We can perform the repair operation, integrity check, and other operations on Exchange when you are offline.
NOTE: Before performing soft recovery, make sure that the log files are not damaged and to examine this, write “Eseutil/ml”Path of the log files\log prefix” in command prompt.
Soft Recovery Syntax
Situation 2: Transaction LOG Files Missing
When LOG files are not in a clean state, then hard recovery of database is required to fix the error. It is identical to soft recovery database but in this case, the transaction LOG files are being replicated by recovering database from online backup.
-
If backup is present, then restore EDB and STM database files & when restoration procedure has completed, a new database will be generated named as ‘restore.env’
Hard Recovery Syntax (In Presence of Backup)
-
If backup is not present, then you may repair the database using /p switch.
Hard Recovery Syntax (In Absence of Backup)
After finishing the recovery procedure, examine the state of database using /mh switch and if the current state is Clean Shutdown, then switch to Offline Defragmentation procedure.
Offline Defragmentation Procedure
The aim of this procedure is to eliminate waste pages from the database because if such pages are removed, then a new database (free from unused pages) is created. The syntax for defragmentation is:
eseutil/d Database_Name
Limitations of Manual Procedure
-
The above-mentioned procedure should strictly be carried out by experts because usage of this technique is complicated and may result in data loss.
-
The procedure undertakes a long time for repairing and recovering data from Dirty Shutdown state.
Technique 2: Go for Alternative Solution
To repair Exchange 2007 database after dirty shutdown, there is another approach to fix this problem. The solution is to use a third party application, which recovers transaction database files. One such software is Exchange Recovery tool that recovers the EDB & STM files and extracts whole data into Live Exchange Server or MS Outlook data file type. It also supports recovery from dismounted as well as offline EDB files.
The software can be accessed by any type of user and it maintains the data integrity after file recovery. Moreover, it recovers the database file within a short duration, i.e. requires less time for processing in comparison to manual procedures.
Conclusion
The best way to fix Exchange 2007 database after Dirty Shutdown is by using Exchange server recovery application instead of going for ESEutil command.
Comments