Checked the state of the databases by eseutil /mh and there it shows dirty shutdown.
Here it can be that one of the database is not up-to-date and the server got rebooted when it was processing one of the transactions and got corrupted.
Our next step in this case is to identify the store that has been corrupted.
We will try to replay the logfiles on the each of the stores individually:
- Renamed priv2.edb and priv2.stb.
- Replayed the logfiles: eseutil /r /i E00
- Error Encountered. So log files cannot be replayed for Information Store 1 (priv1.edb, priv1.stm)
- Now Renamed priv1.edb and priv1.stm.
- Replayed the logfiles: eseutil/ r /i E00
- Completed Successfully. So the Information Store 2 is up to date now and we are able to mount it.
Now as the Information Store 1 is corrupted, the best practice is to restore from the last backup and then make the database up to date by recovering from the present log files.Eseutil /p should be the last resort as it performs the hard recovery and punches off the corrupted tables or entries from the database. So there is always a good chance of loss of some data.
As we have renamed priv1.edb and priv1.stm, the database restore from the backup will create new set of these files. We should not overwrite these files from the restore.
The Restore of backup (Veritas in this Case) should be set with the following options:
- Do not replay logs automatically
- Do not mount databases
- No Loss restore (don't overwrite or delete anything)
After the restore, we have the new set of edb and stm (a day old) and the current log files that will make them up to date.
Now we will use "ESEUTIL /CC" command to replay to restore.env file and continue on to production log files. There are temporary log files and restore.env file created when we run the restore. In case of Veritas restore, they are created in C:\temp\
Restore.env file is just a temporary environmental file holding path information about the data. Its purpose is to help the Exchange 2003 restore process find its files and match them with the corresponding email stores.
Now run the command eseutil /cc "path of restore.env
Mount the store back after it completes successfully.