It’s been a while since I’ve had to recover an Exchange 2007 Database for a Client. I created the Recovery Storage Group and ran the Restore job with success, except I missed the option to replay the log files and mount.
This meant that the database wouldn’t mount.
Mount-Database : Exchange is unable to mount the database that you specified. S
pecified database: MyServer\Recovery Storage Group\MyDatabase; Erro
r code: MapiExceptionCallFailed: Unable to mount database. (hr=0x80004005, ec=-
How to Resolve
You will need to work in the Command Line.
First. In your database folder, confirm this is indeed in Dirty Shutdown state.
Navigate to your Database Directory
eseutil /mh “MyDB.edb”
State: Dirty Shutdown
Second, Make a copy of the Restore.env and Log files from your Restore. Put into another folder.
Third. If you have the luxury of extra disk space, make a copy of the EDB and put into another folder. In my case, I didn’t have that luxury and needed to work from the original.
Fourth. Navigate to your new log directory.
Eseutil /r <YourLogPrefix> /d <Path to DB Folder (not the EDB itself)>
In my case this was
Eseutil /r E01 /d J:\RSG\DB
Note: The prefix for your Logs will depend on the restored logs, in my case is was E01. It can be E00, E02, E03 etc.
In my case, I got a complaint that a log file was missing.
Recovery has indicated that there might be a lossy recovery option. Run
recovery with the /a argument.
Operation terminated with error -528 (JET_errMissingLogFile, Current log file missing) after 0.0 seconds.
Sometimes you may be missing one log, possibly from a read / write error when backing up. I used the /a switch for lossy option.
Eseutil /r E01 /d J:\RSG\DB /a
Extensible Storage Engine Utilities for Microsoft(R) Exchange Server
Copyright (C) Microsoft Corporation. All Rights Reserved.
Initiating RECOVERY mode…
Logfile base name: E01
Log files: <current directory>
System files: <current directory>
Database Directory: J:\RSG\DB
Performing soft recovery…
Restore Status (% complete)
0 10 20 30 40 50 60 70 80 90 100
Operation completed successfully in 3.438 seconds.
Success, I can now mount my database.