Microsoft KB Archive/327334

From BetaArchive Wiki

Article ID: 327334

Article Last Modified on 2/28/2007



APPLIES TO

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



This article was previously published under Q327334

SYMPTOMS

On your Exchange 2000 Server installation, one or more of the following issues may occur:

  • Events similar to the following are listed in the application log of the Event Viewer:

    Date:     date        Source:   ESE98
    Time:     time        Category: (2)
    Type:     Error       Event ID: 474
    User:     N/A
    Computer: Servername
    
    Description:
    Information store "2680" the database page read from the file "C:\Program 
    Files\Exchsrvr\mdbdata\priv1.edb" at offset 4050944 (0x00000000003dd000) for 4096 
    (0x00001000) bytes failed verification due to a page checksum mismatch.
    The expected checksum was 1537063750 (0x5b9dbb46) and the actual 
    checksum was 1536998214 (0x5b9cbb46).
    The read operation will fail with error - 1018 (0xfffffc06).
    If this condition persists then please restore the database from a previous 
    backup.
  • Users cannot send or receive e-mail messages.
  • You cannot start Microsoft Outlook on your client computer.
  • The Exchange Message Transfer Agent (MTA) service does not start on your Exchange 2000 Server computer.


CAUSE

These issues may occur if the Exchange Server information store database has become damaged.

Event ID 474 error indicates a possible hardware or firmware problem in the hard-disk subsystem on the Exchange server. This failure has caused physical damage to the Exchange database. Error -1811 (hexadecimal 0xFFFFF8ED) corresponds to JET_errFileNotFound and is described as the following:

File not found.

RESOLUTION

To correct this issue, move the user mailboxes to a second Exchange server, diagnose and fix the hardware-related issues on the first server, restore the Exchange database from a backup, and then move the user mailboxes back to the first Exchange server.

NOTE: If you do not have a second Exchange 2000 server, you may temporarily install one, and then remove it after the recovery process completes. Follow the Exchange 2000 Server installation procedure for your site.

To Move Mailboxes to a Second Exchange Server

To move the user mailboxes to the second Exchange server:

  1. Click Start, point to Programs, point to Administrative Tools, and then click Active Directory Users and Computers.
  2. In the console tree, expand the domain object, and then click the container in which the user accounts whose mailboxes that you want to move are stored.
  3. Press and hold down CTRL while you click the names of the users whose mailboxes you want to move to the second Exchange server. When you have selected all the names that you want to move, right-click the list of users, click Exchange Tasks, and then release the CTRL key.
  4. In the Exchange Task Wizard, click Next, click Move Mailbox, and then click Next.


The current location of the user mailboxes is displayed.

  1. To specify the destination for the mailboxes, select a server in the Server box, select a mailbox store in the Mailbox Store box, and then click Next.
  2. On the final screen of the Exchange Task Wizard, make sure that the information is correct, and then click Finish. If the information is not correct, click Back to correct the information.

Dismount the Mailbox Store

NOTE: In this procedure, administrative groups are enabled. To enable administrative groups, follow the steps in the "Create an Administrative Group" procedure in Exchange System Manager Help.

To dismount the store:

  1. Click Start, point to Programs, point to Microsoft Exchange, and then click System Manager.
  2. In the Exchange System Manager directory tree, expand Administrative Groups, expand First Administrative Group, expand Servers, expand your Exchange server name, and then expand First Storage Group.
  3. Right-click Mailbox Store, click Dismount Store, and then click Yes to confirm the dismounting of the store.

Copy Transaction Log Files

You must have up-to-date copies of the transaction log files to "replay" mail messages up to the time the store was dismounted. As a precaution, copy the log files to a safe location in case the backup program overwrites these files as part of the restore procedure. To copy the log files:

  1. Click Start, point to Programs, point to Accessories, and then click Command Prompt.
  2. At the command prompt, type md Logbackup, and then press ENTER.
  3. Type copy c:\progra~1\exchsrvr\mdbdata\*.* c:\logbackup, and then press ENTER.

    NOTE: You can use the Esefile utility to quickly copy large database files.

    For additional information about how to use the Esefile utility, click the following article number to view the article in the Microsoft Knowledge Base:

    248406 XADM: Esefile Support Utility for Exchange Server 5.5 and Exchange 2000

Diagnose the Hardware Device

Determine the root cause of the Event 474 error. This is generally caused by a defective device in the hard-disk subsystem, or by outdated or incompatible firmware in the hard-disk subsystem. This may also be indicated by disk Input/Output (I/O) errors displayed in the system log of the Event Viewer. Run all manufacturer diagnostics on the hard-disk controllers. Check the file system for corruption. Contact the hardware vendor to obtain available firmware updates for the hard disks or controllers.

Restore the Exchange Database from a Backup

Use your backup program to restore the Priv1.edb and Priv1.stm files. Make sure that your backup software does not mount the database after you restore the files (if you use NTBackup to restore the databases, click to clear the Mount Database After Restore check box in the Restore Wizard).

Copy the Log Files from the Logbackup Folder

If the restore operation overwrote the transaction log files, either use Windows Explorer or the copy command from a cmd prompt to copy the transaction log (.log) files from the Logbackup folder (where you previously saved them) back to their original location (by default, C:\Program Files\Exchsrvr\Mdbdata).

Remount Store

To remount the store:

  1. Click Start, point to Programs, point to Microsoft Exchange, and then click System Manager.
  2. In the Exchange System Manager directory tree, expand Administrative Groups, expand the First Administrative Group, expand Servers, expand your Exchange server name, and then expand First Storage Group.
  3. Right-click Mailbox Store, and then click Mount Store. In the Mailbox Store dialog box, click OK.


The information store starts to replay the messages back to the time that they were dismounted and brings the messaging system to the current date and time.

  1. Perform an immediate online backup.


MORE INFORMATION

If you do not have a valid backup with which to restore the database, you must perform a hard repair operation on the damaged database. To do this, follow these steps:

  1. Perform the hard repair operation, as described in the following Microsoft Knowledge Base article:

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

  2. After the hard repair operation is successfully completed, perform an offline defragmentation of the database to recover the database from checksum errors. The approximate speed of this procedure is 4 to 6 GB per hour. You will also need about 110 percent of the size of the database available as free hard-disk space to perform this operation. For additional information about how to do this, click the following article number to view the article in the Microsoft Knowledge Base:

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

  3. Run the Isinteg utility against the repaired database to detect and fix logical errors in the store that may result from the hard repair operation. This procedure runs at the rate of about 3 to 6 gigbytes (GB) per hour. By default, the Isinteg program is located in the Program Files\Exchsrvr\Bin folder on the drive on which Exchange 2000 is installed.

    Syntax: isinteg -s servername -verbose -fix -test alltests -l path and file name for log

    For example, type the following command, where servername is the name of your Exchange 2000 server:

    isinteg -s servername -fix -test alltests -verbose -l c:\isinteg1.log

    Type the number of the unmounted store that you want, and then press ENTER.
  4. Examine the log file that is produced by the Isinteg procedure, and then repeat the Isinteg command until the number of fixes and errors in the log file equals 0 (zero) or until the number of errors and fixes does not change.

    NOTE: Specify a different name for the log file each time that you run the Isinteg utility.
  5. Run the Esefile program against the defragmented databases (.edb and .stm) to perform checksum verification.

    NOTE: The Esefile program is available on the Exchange 2000 CD-ROM in the Support\Utils\i386 folder.

    For additional information about how to use Esefile.exe, click the following article number to view the article in the Microsoft Knowledge Base:

    248406 XADM: Esefile Support Utility for Exchange Server 5.5 and Exchange 2000

    A repaired database should not be left in production. Although the /d switch is used with the Eseutil command to defragment a database, the Eseutil program actually creates a new database in which to store the defragmented information and then replaces the existing database with this new copy. This is particularly useful in scenarios where the existing database structure may be corrupted.
  6. Mount the information store.
  7. Perform an immediate online backup of the repaired database.

In some cases, after you perform the hard-repair operation, you may experience symptoms that the Isinteg utility cannot fix, such as messages disappearing or services not responding (hanging). In this case, you may want to use the Exchange Mailbox Merge Utility (ExMerge) to export the data out of the database, create a new database, and then import the data into it. To do this, follow these steps.

NOTE: Resetting an information store database may result in a loss of functionality or reduced functionality for users with regard to rules, offline files and folders, delegate permissions and custom forms.

  1. Copy the three files located in the Support\Utils\i386\Exmerge folder on the Exchange 2000 CD-ROM or on an Exchange 2000 Service Pack CD-ROM to the Program Files\EXCHSRVR\BIN directory located on the drive on which you installed Exchange.

    NOTE: For detailed information about how to install and use the Mailbox Merge utility, view the Exmerge.doc file that is contained in the Support\Utils\i386\Exmerge folder on the Exchange 2000 CD-ROM or on an Exchange 2000 service pack CD-ROM.
  2. Mount the store if it is not already mounted.
  3. Grant your administrative account Receive As and Send As permissions to the mailboxes in the database from which you want to export messages. To do so:
    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 (for example, click Administrator), 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 server 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 selected). This option requires more space on the destination partition.
  9. Click the Import Procedure tab, and the click the method that you want to use to import data into the target store.

    The Merge data into the target store selection is most frequently used and is selected by default.
  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 of 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 the necessary space in which to store the .pst files that will be 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 that you 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 with which you experience problems.

    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 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 restart the server before you mount the store. This makes sure that you are prompted to force the creation of an empty database.
  18. Log on to your mailbox, and then send a test message to all of 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 server 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 is completed successfully.
  29. Log on to a number of mailboxes to confirm that their contents have been successfully imported.

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

314917 XADM: Understanding and Analyzing -1018, -1019, and -1022 Exchange Database Errors


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


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


272570 XADM: How to Recover from Information Store Corruption


282496 XADM: Considerations and Best Practices When Resetting an Exchange Mailbox Database


259688 XADM: How to Use the Exmerge Utility to Extract Data from a Damaged Private Information Store


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


For additional information about Exchange 2000 disaster recovery, visit the following Microsoft TechNet Web site:


Keywords: kberrmsg kbprb KB327334