In 1999 sometime, the guy I worked for brought me a Microsoft Exchange Server to deploy in the company where we worked. Later in 2000 I saw my first Small Business Server which includes a version of Exchange. Microsoft maintains pricing that makes the Small Business Server a very attractive environment for businesses with under 75 users.
Almost all my managed networking clients have the latest Windows Small Business Server 2003, and they all use Exchange albeit in a variety of configurations. For me, it has always been a stable platform. On the other hand I have also heard horror stories of entire companies data stores being lost to corruption or other database issues.
So when I got a log file mailed to me with literally hundreds of errors about the Exchange data store having a “checksum failure”, I was pretty concerned. The symptoms are more or less as described in the Knowledge Base Article 318429. And to top it all off right before the errors started, there had been a physical raid disc that needed to be reseated and reconstructed recently. My heart sank as I read.
To repair the corruption in database pages if you do not have a valid backup and you are running the standard version of Exchange 2000 or Exchange 2003, run the eseutil /p command, run the eseutil /d command, and then run the isinteg -fix command on the affected store.
Caution After you make repairs to the database by using the eseutil /p switch, the database may not be stable and reliable. Because the repair process deletes database pages, data loss is likely.
Fortunately I was not reduced to such extreme measures. It turns out I was able to use an add-on utility available from Microsoft called Exmerge. Exmerge allows an administrator to pull all the mailboxes out of a damaged store. Well, it let me do it anyway; I suppose it must not be able to operate on all damage, or those other scary utils wouldn’t be required? Then I was able to recreate a new (good) empty store and import the mailboxes. Easy huh?
The process is described pretty well in a how to in the Knowledge Base (259688), even though it refers to Exchange 5.5 most of the steps were correct. In Exchange 2003 on SBS turning the Exchange Information Store back on only recreated some of the files and notably to my dismay it did NOT recreate priv.edb and pub.edb. To recreate the files, I had to go into the Exchange manager and tell it to mount both stores.
Once I decided that this was how to go probably the most difficult thing was getting the permissions just right for the user. Turns out administrators are denied some required permissions by default, and you have to follow the instructions in this TechNet article to set things up right. (Don’t forget to put them back when you are done.) The TechNet article also mentions Storage Recovery Groups which I may write about in the future.