Using Microsoft Exchange, if the database corrupted, will I be able to receive email?
migrated from stackoverflow.com Feb 23 '10 at 2:26
This question came from our site for professional and enthusiast programmers.
There is different types of corruption in Exchange databases, which is based on the Microsoft JET database. There's logical corruption, which is just mainly things like invalid pointers in the database and other minor issues that result in inaccurate item counts in mailboxes and that kind of thing. The integrity of the database overall is sound, and you can use isinteg to fix this. I've never seen logical corruption prevent mail delivery.
Then there's hard corruption, which is actual corruption within the database, and can be damaged tables, pages, and the like. This is usually caused by hardware problems, blocks being overwritten by incorrect presentation of SANs, and the like. These types of errors are far more likely to cause major problems with Exchange. You can fix these using eseutil.
The bottom line is if the database can mount, it technically can receive mail. It is possible for databases to mount with hard corruption depending upon what is corrupted. However, it is also possible depending on the corruption that a user might not see the mail message even though it arrived. As mentioned by Grizly, the transaction would be written to transaction logs first before it's ever committed to the actual database.
Take a peek here: http://serverfault.com/questions/55076/exchange-data-recovery
Its possible, as new messages get saved to "logs" before they are committed..don't delete these, you can replay them into the db to recreate it from backup..