Microsoft KB Archive/301438

From BetaArchive Wiki
Knowledge Base


You cannot mount a database because there is a corrupted transaction log in Exchange 2000

Article ID: 301438

Article Last Modified on 10/27/2006



APPLIES TO

  • Microsoft Exchange 2000 Server Standard Edition



This article was previously published under Q301438

SYMPTOMS

When you try to mount a mailbox or a public store, you may receive the following error message:

An internal processing error has occurred. Try restarting the Exchange System Manager or the Microsoft Exchange Information Store service, or both. ID no: c1041724

The following error and information messages may be logged in the application event log: Event ID: 301
Source: Ese98
Type: Information
Computer: Server1
Information Store (2184) the database engine has begun replaying logfile C:\Programme\Exchsrvr\mdbdata\E00000E7.log.
For more information, click http://search.support.microsoft.com/search/?adv=1.

Event ID: 477
Source: Ese98
Type: Error
Computer: Server1
Information Store (2184) The log range read from the file "C:\Programme\Exchsrvr\mdbdata\E00000E8.log" at offset 3343872 (0x0000000000330600) for 35328 (0x00008a00) bytes failed verification due to a range checksum mismatch. The read operation will fail with error -501 (0xfffffe0b). If this condition persists then please restore the logfile from a previous backup.
For more information, click http://search.support.microsoft.com/search/?adv=1.

Event ID: 465
Source: Ese98
Type: Error
Computer: Server1
Information Store (2184) Corruption was detected during soft recovery in logfile C:\Programme\Exchsrvr\mdbdata\E00000E8.log. The failing checksum record is located at position 6531:471. Data not matching the log-file fill pattern first appeared in sector 6600. This logfile has been damaged and is unusable.
For more information, click http://search.support.microsoft.com/search/?adv=1.

Event ID: 301
Source: Ese98
Type: Information
Computer: Server1
Information Store (2184) The database engine has begun replaying logfile C:\Programme\Exchsrvr\mdbdata\E00000E8.log.
For more information, click http://search.support.microsoft.com/search/?adv=1.

Event ID: 454
Source: Ese98
Type: Error
Computer: Server1
Information Store (2184) Database recovery/restore failed with unexpected error -501.

Note In these error messages, the word "logfile" is a misspelling for the words "log file."

CAUSE

This issue may occur if a transaction log file is corrupted. For example, in the events that are listed in the "Symptoms" section, the Edb00000E8.log file is corrupted. The event ID 477 and 465 error messages specifically indicate that the Edb00000E8.log file is corrupted.

Note The Extensible Storage Engine 98 decimal error code -501 corresponds to the JET_errLogFileCorrupt error message.

RESOLUTION

To resolve this issue, you must remove the corrupted log file from your Microsoft Exchange 2000 Server computer. To remove the corrupted log file, follow these steps:

  1. Perform an offline backup of the Exchange databases in the storage group that contains the corrupted log file.

    Important When you perform an offline backup, the Exchange 2000 computer is unavailable to users whose mailboxes are stored in the storage group that you are backing up. The Exchange 2000 computer is unavailable to the users because you must dismount the databases in the storage group.
    1. To dismount the databases in the storage group, follow these steps.
      1. Click Start, point to Programs, point to Microsoft Exchange, and then click System Manager.
      2. Expand Servers, expand the server that you want, and then expand Storage Group.

        Note If you have administrative groups defined, expand Administrative Groups, expand Administrative Group, expand Servers, expand the server that you want, and then expand Storage Group.
      3. Right-click an information store, click Dismount Store, and then click Yes to continue.
      4. Dismount the remaining stores that are listed under Storage Group.
    2. Back up the storage group by using the Microsoft Windows 2000 version of Windows Backup. You can run Windows Backup on any computer in the forest that is running Exchange 2000. To back up the storage group, follow these steps:
      1. Click Start, point to Programs, point to Accessories, point to System Tools, and then click Backup.
      2. Click Backup Wizard, click Next, click Back up selected files, drives, or network data, and then click Next.
      3. Expand Microsoft Exchange Server, expand ServerName, expand Microsoft Information Store, click to select the check box for the storage group that you want to back up, and then click Next.
      4. In the Backup media or filename box, specify a location where you want your backup to be stored, click Next, and then click Finish to start the backup.
    When the backup is finished, continue to step 2.
  2. Use the Eseutil utility (Eseutil.exe) to determine whether the databases are in a consistent state or in an inconsistent state. A consistent state is the same as a clean shutdown state. An inconsistent state is the same as a dirty shutdown state. To determine whether the databases are in a consistent state or in an inconsistent state, follow these steps:
    1. Make sure that the databases in the storage group are dismounted.
    2. Change to the C:\Program Files\Exchsrvr\Bin folder, and then run the eseutil /mh command by using the following syntax:

      eseutil /mh "C:\Program Files\Exchsrvr\Mdbdata\Database.edb"

      Note This step assumes that you installed Exchange 2000 on drive C. This step also assumes that you are running Exchange 2000 in the Program Files\Exchsrvr\Bin folder and that the .edb files are in the Program Files\Exchsrvr\Mdbdata folder. If you have performed an upgrade, the database files might be located in the C:\Exchsrvr\Mdbdata folder. If you have multiple storage groups, the database files might be located in a folder that is different from the Mdbdata folder.
    3. In the output results, locate the output line that is labeled "State." If the database state is consistent, you will see "State: Clean Shutdown." If the database is inconsistent, you will see "State: Dirty Shutdown."

    For additional information about where to find the Eseutil utility, click the following article number to view the article in the Microsoft Knowledge Base:

    170091 XADM: Location of the Eseutil utility


    For additional information about Eseutil command line switches, click the following article number to view the article in the Microsoft Knowledge Base:

    317014 XADM: Exchange 2000 Server Eseutil command line switches

  3. If the databases are consistent, move all the log files out of the folder where your database files are located, and then mount the stores. The folder where your database files are located is typically the Exchsrvr\Mdbdata folder. As with any situation where a log file has been corrupted, some data loss will occur.
  4. If the databases are inconsistent, you can try to perform a soft recovery of the files. Important To perform a soft recovery, you must stop the Microsoft Exchange Information Store service. When the Information Store service is stopped, all users who have their mailboxes stored on the server will not be able to send and receive mail.

    To perform a soft recovery of the files, follow these steps:
    1. Click Start, point to Programs, point to Administrative Tools, and then click Services.
    2. Locate and then right-click the Microsoft Exchange Information Store service, click Stop, and wait for the Information Store service to stop.
    3. At the command prompt, change to the folder where the database and the log files are located. For example, change to the C:\Program Files\Exchsrvr\Mdbdata folder.
    4. Run the following command in the folder where the database and the log files are located:

      "C:\Program Files\Exchsrvr\Bin\Eseutil" /r E00

      Note Replace E00 with the three-character log file base name.

      For additional information about the soft recovery procedure, click the following article number to view the article in the Microsoft Knowledge Base:

      313184 HOW TO: Recover the information store on Exchange 2000 in a single site

  5. If the soft recovery is unsuccessful, you can try to perform a recovery of the Exchange database by restoring from a backup. The databases in the storage group must remain dismounted if you try to restore from a backup.

    Note If you enabled circular logging for the storage group that the inconsistent database is located in, you can only recover the data that was in the database when you performed the last working full backup. To determine if circular logging is enabled, right-click the storage group, click Properties, and then view the status of the Enable Circular Logging check box.
    • If you restore the databases from an online backup, only replay transaction logs that are older than the log file that is corrupted.

      For additional information about how to restore Exchange from an online backup, click the following article number to view the article in the Microsoft Knowledge Base:

      232938 The "Last Backup Set" check box and hard recovery in Exchange

    • If you restore the databases from an offline backup, empty the database log folders and the transaction log folders. Only restore the .edb files and the .stm files.

      For additional information about offline backup and restore procedures for Exchange, click the following article number to view the article in the Microsoft Knowledge Base:

      296788 Offline backup and restoration procedures for Exchange

  6. If there are no backups available that you can use and if the database remains in an inconsistent state, you can try to repair your databases by using the eseutil /p command.

    Note If you use the eseutil /p command, you may lose some Exchange 2000 data. The command is a hard command. A hard command is also known as a forcible-state recovery command. Microsoft recommends that you use this command only if the public information store or the private information store does not return to a consistent state after you perform the steps that are described earlier in this article.

    For more information about the ramifications of using the eseutil /p command, click the following article number to view the article in the Microsoft Knowledge Base:

    259851 Ramifications of running the eseutil /p or edbutil /d /r command in Exchange


    For additional information about how to use the eseutil /p command, click the following article number to view the article in the Microsoft Knowledge Base:

    313184 HOW TO: Recover the information store on Exchange 2000 in a single site


MORE INFORMATION

For additional information about Exchange 2000 Server disaster recovery, click the following article number to view the article in the Microsoft Knowledge Base:

326052 XADM: White paper - Disaster recovery for Microsoft Exchange 2000 Server




For additional information about recovering a database from an offline backup, click the following article number to view the article in the Microsoft Knowledge Base:

251403 Database does not mount after you restore an offline backup



Additional query words: XADM exch2kp2w

Keywords: kberrmsg kbprb KB301438