Microsoft KB Archive/810197

From BetaArchive Wiki
Knowledge Base


Information Store data inconsistency is detected in a table, and Event 448 is logged

Article ID: 810197

Article Last Modified on 2/27/2007



APPLIES TO

  • Microsoft Exchange 2000 Enterprise Server
  • Microsoft Exchange 2000 Server Standard Edition



SUMMARY

You may experience corruption or inconsistency in the Exchange 2000 information store in the Jet database that is indicated by event ID 448. Event ID 448 indicates that there is a corruption or an inconsistency in a table in the Jet database. This event is logged in the application log in Windows Event Viewer with a description similar to the following: Date: Date
Source: ESE
Time: Time
Category: Database Corruption
Type: Error
Event ID: 448
User: N/A
Computer: ServerName
Description: Information Store (2412) Data inconsistency detected in table Msg of database E:\Program Files\exchsrvr\mdbdata\priv4.edb (0,524957). For more information, click http://search.support.microsoft.com/search/?adv=1

When the server starts, all the services that are related to Exchange 2000 may start, but the mailbox stores are not mounted.

When you verify the integrity of the database by running the eseutil /g command (for example, eseutil /g "c:\program files\exchsrvr\mdbdata\priv1.edb"), the Eseutil program is unsuccessful and you receive the following message:

The Database is corrupted.

CAUSE

Database corruption may occur if there is a defective hard disk or a defective hard disk controller, if an antivirus program is scanning folders that are related to Exchange 2000, or if there is a corrupted restore operation.

RESOLUTION

  1. Review the application log carefully for events and patterns that may relate to this event. Review the System log carefully for related events and patterns that include any errors that are related to hardware, to drives, to controllers, or to the file system. If there are any such errors, replace the hardware, update the hardware system files, or repair the file system to prevent any future errors. Do this before you continue to the next step.
  2. If the information store database is running, it is suggested that you use the Exchange Mailbox Merge program (Exmerge) to export your data to .pst files, to delete the database, to create a blank database, and then use Exmerge to move your databases to a blank database.
  3. If the database is running, you may also move all the mailboxes to another store, delete the affected database, create a new database, and then move all the mailboxes back.
  4. If the information store database does not mount, the suggested solution is to restore from an online backup before the errors appear in the application log.
  5. If the information store database does not mount and there is no backup, the last resort is to follow these steps:
    1. Repair the database by using the eseutil /p command.
    2. Perform an offline defragmentation of the database by using the eseutil /d command.
    3. Repeatedly run the isinteg -fix command until there are no longer any fixes reported.
    If the corruption is not resolved by following these steps, export the data by using Exmerge, create a blank store, and then import the data by using Exmerge.

Specific steps on how to repair the database, how to use the isinteg –fix command, and how to use Exmerge are listed below. To resolve this issue, repair the corrupted Information Store database. To do this, follow these steps.

Note It is best to restore the database from a backup. However, if you do not have a valid backup available, follow these steps to repair the damaged database. Make sure that you have performed a full backup of your Exchange 2000 data before you follow these steps:

  1. Start the Information Store service if it is not already started.

    Note In some cases, you may not be able to start the Information Store service until you click to select the Do not mount this store at start-up check box on the Database tab of the database Properties dialog box in Exchange System Manager.
  2. Start Exchange System Manager, and then dismount the corrupted private database (if it is not already dismounted).

    For example, dismount the Priv1.edb database.
  3. Run the eseutil /p command against the dismounted database file. To do this, follow these steps:
    1. Click Start, click Run, type cmd in the Open box, and then click OK.
    2. Change to the Program Files\Exchsrvr\Bin folder.

      For example, type cd\program files\exchsrvr\bin, and then press ENTER.
    3. Type eseutil /p "c:\program files\exchsrvr\mdbdata\priv1.edb" (where c:\program files\exchsrvr\mdbdata is the path of the database file, and where priv1.edb is the name of the database file), and then press ENTER.
    4. Click OK to continue with the repair operation.
    5. Type eseutil /d "c:\program files\exchsrvr\mdbdata\priv1.edb" (where c:\program files\exchsrvr\mdbdata is the path of the database file, and where priv1.edb is the name of the database file), and then press ENTER.

      Note While the /d switch is used with the eseutil command to defragment a database, the actual work that the Eseutil program does is to create a new database to store the defragmented information in, and then replace the existing database with the new copy. This is helpful in this case because the existing database structure may be corrupted.
  4. Create a backup of the original database files.
  5. Start Exchange System Manager, and then mount the database.
  6. Dismount the database.
  7. At the command prompt, run the isinteg -s servername -fix -test alltests command against the database that is experiencing the problem. To do so:
    1. At the command prompt, change to the Program Files\Exchsrvr\Bin folder.
    2. Type isinteg -s servername -fix -test alltests (where servername is the host name of the Exchange 2000 computer), and then press ENTER.
    3. Press the number that corresponds to the storage group name that you want to repair, and then press ENTER.
    4. Press Y to confirm the selection, and then press ENTER.
    5. Repeat the isinteg command until the number of database fixes reaches 0 (zero) or does not change.
    6. Quit the command prompt.
  8. Start Exchange System Manager and then mount the database.

In some cases, after the previous "hard repair" operation, you may experience symptoms that the Isinteg utility cannot fix, such as messages that disappear, or services that do not respond (hang). In this case, you may want to use Exchange Mailbox Merge (Exmerge) to export the data from the database; to create a new database; and then to import the data into the new database. To do this, follow these steps.

Note Resetting an information store database may cause users to partially or to completely lose functionality related to rules, Offline Files, delegate permissions, and custom forms.

  1. Copy the three files located in the Support\Utils\I386\Exmerge folder on the Exchange 2000 CD or on an Exchange 2000 service pack CD to the \Program Files\Exchsrvr\Bin folder that is located on the hard disk that you installed Exchange on.

    Note For detailed information about how to install and use the Exchange Mailbox Merge utility, view the Exmerge.doc file that is contained in the Support\Utils\I386\Exmerge folder on the Exchange 2000 CD or on an Exchange 2000 service pack CD.
  2. Mount the store if it is not already mounted.
  3. Grant your administrative account Receive As and Send As permissions to the mailboxes that are in the database that you want to export messages from. To do so, follow these steps:
    1. Start Exchange System Manager, and then locate the container that contains the database that you want.

      For example, Mailbox Store (Servername)
    2. Right-click the database, and then click Properties.
    3. Click the Security tab, click your account in the Name list, and then click to select the Send As and the Receive As check boxes under Allow in the Permissions list.
    4. Click Apply, click OK, and then quit Exchange System Manager.
  4. Start Windows Explorer, locate the folder that contains the Exmerge.exe file (by default, C:\Program Files\Exchsrvr\Bin ), and then double-click Exmerge.exe.
  5. Click Next, click Extract or Import (Two Step Procedure), and then click Next.
  6. Click Step 1: Extract data from an Exchange Server Mailbox, and then click Next.
  7. Type the name of the Exchange 2000 computer in the Microsoft Exchange Server Name box, and then click Options.
  8. On the Data tab, click to select the following check boxes:
    • User messages and folders
    • Associated folder messages
    • Folder permissions
    Note The Items from Dumpster check box is for recoverable items that have been deleted by users when the Deleted Item Recovery option is enabled. This option requires more space on the destination partition.
  9. Click the Import Procedure tab, and then click the option that you want to use to import data into the target store.

    The Merge data into the target store option is the most frequently used option. By default, it is selected.
  10. Click the Dates tab, and then click All (if it is not already selected).
  11. Click Apply, click OK, and then click Next.
  12. Click Select All, verify that all the users are selected, and then click Next.
  13. Verify that the Default locale selection is correct, and then click Next.
  14. On the Target Directory page, click a partition that has sufficient space to store the .pst files that are exported.

    You can also direct the .pst files to another server if you do not have space on the local drive. If this is the case, make sure to map a drive to the remote location. If you copy the .pst files to another server, the time that it takes to run the process increases substantially.
  15. Click Next, click Next, and then click Finish when the export procedure completes.
  16. Stop the Information Store service and then back up or rename the database files that you experienced problems with.

    Important The database may be stored on one partition and the log files on another partition. You can move these files to another server or rename them, but Microsoft recommends that you keep a copy of your original database and of your log files until you have determined that this process has worked correctly.
  17. Start the Information Store service, and then mount the store. This creates another Priv1.edb database file.

    Note In some cases, you may have to restart the Exchange services or to restart the server before you mount the store to be prompted to create an empty database.
  18. Log on to your mailbox and send a test message to all the users who are on the server.

    This step is critical for the Exmerge utility process. This actually creates the mailboxes in the new database.
  19. Start the Exmerge utility, and then click Next.
  20. Click Extract or Import (Two Step Procedure), and then click Next.
  21. Click Step 2: Import data into an Exchange Server Mailbox, and then click Next.
  22. Type the name of the Exchange 2000 computer in the Microsoft Exchange Server Name box, and then click Options.
  23. On the Data tab, click to select the following check boxes:
    • User messages and folders
    • Associated folder messages
    • Folder permissions
  24. Click Apply, click OK, and then click Next.
  25. Click Select All, and then click Next.

    Note If some of the users are not listed on the Mailbox Selection page, they may have not received the e-mail message that you sent to all users. Make sure that you have sent a test message to all users. In this case, quit the Exmerge operation, send the user an e-mail message, and then restart the Exmerge operation.
  26. Verify that the Default locale selection is correct, and then click Next.
  27. Select the folder that contains the .pst files that you exported (for example, C:\Exmergedata), and then click Next.
  28. Click Next, and then click Finish when the import process has completed successfully.
  29. Log on to a number of mailboxes to confirm that their contents were successfully imported.


MORE INFORMATION

For additional information, click the following article numbers to view the articles in the Microsoft Knowledge Base:

301460 XADM: Exchange 2000 Command-Line Parameters for Isinteg.exe


296788 XADM: Offline Backup and Restoration Procedures for Exchange 2000 Server


317014 XADM: Exchange 2000 Server Eseutil Command Line Switches


192185 XADM: How to Defragment with the Eseutil Utility (Eseutil.exe)


265441 XADM: Some Questions and Answers About the Exmerge Utility


174197 XADM: Microsoft Exchange Mailbox Merge Program (Exmerge.exe) Information


Keywords: KB810197