In Exchange 2000, safeguards were implemented that always prevent soft recovery from running when hard recovery is needed.
There is another risk in running soft recovery with Eseutil. This risk still exists in Exchange 2000 or Exchange 2003: If you improperly specify paths to log files, to the checkpoint file or to database files, recovery may alter the database or log files and prevent recovery from being done again.
If existing transaction log files are not found by Eseutil when it tries to run recovery, it will create a new transaction log file, and try to attach the database to it. If the database is Inconsistent or in Dirty Shutdown state, the database will not be made startable. If the database is in a Consistent state, it will be attached and then detached from the new log file.
In either case, you risk making changes to the database or adding log files to the server that will result in the database becoming unstartable or that will confuse further recovery troubleshooting.
Note: |
|---|
|
Just because recovery with Eseutil reports success does not mean that the database recovered is in a mountable state. Recovery succeeds whenever all available transaction log data that is currently available has been applied to the database files. Recovery success says nothing about whether the available data was sufficient to restore the databases to consistency.
|
In Exchange 5.5, you were almost always better off placing files in appropriate locations and then starting the Information Store to accomplish recovery. In Exchange 2003, there are two improvements to the Eseutil recovery functionality that provide important advantages over mounting a database to run recovery on it:
-
Eseutil can force recovery to complete even if there is a missing database. This capability is also available in Exchange 2000.
-
If a storage group is unexpectedly stopped, all databases running at the time will be Inconsistent in a Dirty Shutdown state. Suppose that the reason the storage group stopped was that a database drive suddenly failed, and the drive is inaccessible. In this case, you are missing one of the databases.
-
If you run recovery while the database is missing, it is possible that you will alter the state of the transaction logs so that if the drive becomes accessible again, recovery will not complete successfully with that one database.
Note: |
|---|
|
If you restore the database from backup, recovery will be able to complete successfully—this scenario only applies to recovering a database that was attached to the current log at the time of the sudden stop.
|
-
If you know that the lost database will not be recovered, you can recover the rest of the databases in the storage group without first restoring the missing database from backup by using the Eseutil /I (ignore) switch.
Before using this switch to run recovery on the rest of the storage group, you should first make a backup of all transaction log files, including the current log (Enn.log). By keeping a copy of the current log and all the other logs, you will still be able to recover the missing database if it unexpectedly becomes available. Once you recover the rest of the databases, and thus write more information into Enn.log, you may not be able to recover the missing database using that log file.