Exchange 2000 Disaster Recovery Tools
Recently I had to resuscitate an Exchange 2000 server that was at death’s door. It seems that the M drive (which is a special mapped drive in Exchange 2000) was scanned by antivirus software. This is a very bad thing in Exchange 2K because it can destroy the contents of both public and private folders. This would have been easy enough to get around, but something else happened to the Exchange server, something bizarre that not even Microsoft seems to understand. Every time I tried to access the public folder properties from the System manager I was met with an error message that essentially told me that some component was not registered. As it turns out, the answer to that problem was to rebuild the box from scratch. In the process I learned a few things about how to use the troubleshooting tools that come with Exchange 2000 that may save you some time in the future.
Having worked with Exchange for a number of years, I am fairly comfortable with the old Exchange 5.5 tools for repairing databases but I have found that there are just enough differences to make the learning curve a challenge.
For example, in Exchange 5.5 if you wanted to run isinteg to bring a database back to a consistent state after a backup you could just run a command like this:
Isinteg –pri –fix –test alltests
It does not work this way in Exchange 2000. The command would be more like this:
Isinteg –s Servername –fix –test alltests
Not that the –pri and –pub are no longer available. That is because you can have multiple databases and storage groups in Exchange 2000. So after entering this command you will be asked which database you want to repair, just make sure to dismount the database before running this command because you cannot repair online databases.
Another tool that you may need to become familiar with is eseutil. In Exchange 5.5 you could repair a database by using a commandf like this:
Eseutil /d /r /ispriv
Now the command looks something like this:
Eseutil /r e00 /l “c:\program files\exchsrvr\mdbdata”
“What is this mess?” you may rightly ask. In lieu of the /ispriv and /ispub that you may have been used to, eseutil now requires two new parameters. The /r parameter requires the three character logfile base name (seen here as e00). This took a little while to figure out (because it was late) but you can find this cryptic code by opening System Manager and bringing up the properties for the storage group in question. The logfile base name is the log file prefix listed on the general tab.
Hopefully though, a good old-fashioned restore will do the trick for you. Just remember that in order to restore a database in Exchange 2000 it must be dismounted and you need to make sure that it can be overwritten by a restore. To make this happen just open the System Manager and bring up the properties for the database in question (not the storage group) and check the box on the Database tab that says that this database can be overwritten by a restore.
Hopefully you will not need to use this information frequently, but when the time comes I hope it helps you get back on your feet fast.