In Exchange 2000 and in Exchange 2003, this problem occurs if you restore a particular store without deleting all the transaction logs first. When you mount a blank store, it records the
createDB transaction in the transaction logs. Then when you restore the same store, it plays through the logs off of the backup in addition to the logs in the transaction log directory.
In this scenario, the restore does bring back all the old data, but as you play through the logs in the production transaction log directory, you eventually hit the
createDB transaction. This causes you to unknowingly mount blank databases again. The
createDB transaction is then completed with the rest of the logs. Therefore, you only have the mail from the time period after you mounted the blank database.
To summarize what occurs:
- Restore runs and is completed. The restored database is on the hard disk.
- Hard recovery starts. Logs are starting to replay in the database.
- The log that has the createDB transaction is also replayed. This creates the new database, as intended.
- Replay of any logs after that log is completed. That gives you only the mail that was received after the blank database was created.
The
createDB transaction is just another transaction for your database engine. It is replayed the same as any other transaction.
Note This
createDB transaction behavior did not occur in Microsoft Exchange 5.5 or in earlier versions of Exchange. It only occurs in Exchange 2000 and in Exchange 2003.