Thursday, January 22, 2009

The information store is dismounted, and an event ID 1159 message is logged in Exchange Server 2003 or in Exchange 2000 Server

In Microsoft Exchange Server 2003 , the information store is dismounted. Additionally, an event that is similar to the following event is logged in the Application log on a server that is running Exchange Server 2003
------------------------
Event Type: Error
Event Source: MSExchangeIS
Event Category: General
Event ID: 1159
Description: Database error 0xfffffd9a occurred in function JTAB_BASE::EcUpdate while accessing the database "". Note The error code 0xfffffd9a translates to JET_errCheckpointDepthTooDeep
Event Type: Error
Event Source: MSExchangeIS Mailbox
Event Category: Logons
Event ID: 1022
Description: Logon Failure on database Path_of_Database.
Error: -519
------------------------------------
Problem:
This issue occurs if the storage group that is related to the information store contains more than 1008 uncommitted Extensible Storage Engine (ESE) transaction log files. Each ESE storage group has a hard-coded limit of 1024 uncommitted ESE transaction log files. When the number of uncommitted ESE transaction log files in an ESE storage group reaches 1008, Exchange Server 2003 or Exchange 2000 Server starts to dismount all the information stores in the storage group. Additionally, the event ID 1159 message is logged in the Application log.
Cause:
This problem occurs because the Exchange Server has used all the transaction logs that are available to a storage group causing to dismount all the databases that are in the affected storage group there by affecting mail flow.
Users who have mailboxes in this storage group experienced logon failures as we notice the events 1022 in the application log.
The maximum number of transaction log files that can be generated in a single sequence is 1,048,560 (0xFFFF0).
This generally happens when a backup has been started that does not complete for an excessive amount of time.
The backup will put the database into a state where it cannot commit the log files, then since the backup hangs it will eventually reach that limit and dismount the store. When you remount the store, the backup will have failed as a result of the database dismount and the log files will be committed. We need to ensure that no backups run for more than a day, and if one has been running that long cancel it.

Resolution:
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:
Mark all the databases in the affected storage group to not mount on startup. To do this, follow these steps:
Click Start, point to Programs, point to Microsoft Exchange, and then click System Manager.
Expand Organization, click Servers, click your server, click Information Store, and then click your storage group.
Right-click your database, and then click Properties.
Click the Database tab.
Click to select the Don't mount this store at start-up check box.
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)
Restart the store so that other storage groups can be mounted.
Run eseutil /r on all the databases that are in the affected storage group.
Verify that the databases were in a Clean Shutdown state. To do this, follow these steps:
In Exchange System Manager, right-click the first store in the storage group that has run out of transaction log files, and then click Properties.
Click the Database tab, and then note the paths and the file names of the database files in the Exchange database box and in the Exchange streaming database box. Each Exchange database is composed of a paired set of files that have the .edb file name extension and the .stm file name extension. Repeat this step for each store in the storage group.
At a command prompt, move to the Exchange Server bin folder. For example, move to the C:\Program Files\Exchsrvr\bin.
Type Eseutil /mh Database_File_Name, and then press ENTER. Repeat this step for each database in the storage group. This command displays the database file header. The header contains one of the following lines:
State: Clean Shutdown
State: Dirty Shutdown
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.
Mount all the databases in the storage group.
Click to clear the Don't mount this store at start-up check box for all the databases in the affected storage group.
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

1 comment:

  1. Hi Vani

    The solution you describe is not for the problem you have. The problem describes a backup running too long problem and getting 1008 uncommited logs.

    your solution describes another problem which deals with log sequence generation being consumed.

    thank you

    ReplyDelete