Friday, April 27, 2007

Exchange Server 2003: Is Yours About to Crash?

I don't want to scare anyone but networks where Exchange Server had been running for a while might have a potential problem. Basically the store databases are dismounted without warning or users cannot log on to their mailboxes in Exchange Server 2003 or in Exchange 2000 Server, because the Exchange uses transaction log files that are numbered sequentially. The first file name in the transaction log file sequence is "E nn 00001.log." The file names increase sequentially to "E nn ffff0.log."

Microsoft udpated their Knowledgebase Article 830408 on March 9, 2007 advising for this problem. Furthermore, just yesterday (April 26) they released the latest version of the debugging tools - which are used to correct the problem, if it happens to you.
Basically stores dismount but a defrag and scan of Exchange show healthy state - but the stores refuse to mount.

WORKAROUND
To work around this problem, reset the log sequence. To do this, you must move all existing transaction logs to another location. After you do this, a new sequence of log files that starts with 0x00001 is generated.Important Before you move the transaction logs, you must verify that all databases in the storage group are in a Clean Shutdown state. To do this and to reset the log file sequence, follow these steps:
1. Mark all the databases in the affected storage group to not mount on startup. To do this, follow these steps:

2. Kill the store to dismount the database that could not be dismounted.To download the latest version of the Debugging Tools for Windows package, visit the following Microsoft Web site:
http://www.microsoft.com/whdc/devtools/debugging/default.mspx (http://www.microsoft.com/whdc/devtools/debugging/default.mspx)

3.Restart the store so that other storage groups can be mounted.

4.Run the ESEUTIL recovery on all the databases that are in the affected storage group.

5. Verify that the databases were in a Clean Shutdown state.

6.Move logs and checkpoint files to another location in case a recovery is required from an old database. The log files have the .log file name extension. The checkpoint files have the .chk file name extension.

7.Mount all the databases in the storage group.

8.Click to clear the Don't mount this store at start-up check box for all the databases in the affected storage group.

9.The storage group must be backed up when delivery settles down on this computer because you cannot recover log files past the new log file generation point.

/KJ