MSExchangeTransport 17021

 

This article provides an explanation and possible resolutions for a specific Exchange event. If you don't find what you’re looking for here, try searching Exchange 2010 Help.

Details

Product Name

Exchange

Product Version

14.0

Event ID

17021

Event Source

MSExchangeTransport

Category

Storage

Symbolic Name

JetTableNotFound

Message Text

%1: Exchange couldn't open the database because it can't find a table. The Microsoft Exchange Transport service is shutting down. Exception details: %2

Explanation

This Error event indicates that the Microsoft Exchange Transport service was unable to access the Transport database on the Hub Transport server or on the Edge Transport server.

Starting with Microsoft Exchange Server 2007, the Microsoft Exchange Transport service uses an Extensible Storage Engine (ESE) database for mail queue storage. This design change improves read and write performance with respect to messaging queues and also lets the messaging queues be backed up. The Transport database consists of the following files:

  • Mail.que: The ESE database

  • Tmp.edb: The temporary workspace for processing transactions

  • Trn.log: The current transaction log file

  • Trntmp.log: The temporary transaction log file

  • Trn.chk: The database checkpoint file

  • Trnres00001.jrs: The first transaction reserve file

  • Trnres00002.jrs: The second transaction reserve file

By default, these files are located in the following directory:

%ProgramFiles%\Microsoft\Exchange Server\V14\TransportRoles\data\Queue

This issue may occur when one or more of the following conditions are true:

  • One of the database files is missing. This may occur when a file-level antivirus program has not been configured to exclude the Exchange-related files.

  • The Transport database is damaged.

User Action

To troubleshoot this issue, do one or more of the following:

  • Review the Application log and System log on your Exchange 2010 servers for related events. For example, events that occur immediately before and after this event may provide more information about the root cause of this error.

  • Review the Operations Console in Operations Manager for detailed information about the cause of this problem. For more information, see the "Introduction" section in this article.

  • If a file-level antivirus scanner is running, verify that antivirus exclusions are configured appropriately. For more information, see File-Level Antivirus Scanning on Exchange 2010.

  • Determine whether any non-Exchange programs are accessing the Transport database files. To do this, follow these steps:

    1. Visit the following Web site to obtain the Handle. exe program:

      https://technet.microsoft.com/en-us/sysinternals/bb896655.aspx

    2. Extract Handle.exe from the downloaded archive, and then copy the file to a location on the affected Transport server.

    3. Run the following command, and replace database.edb by the name of the database file that is listed in the event:

      handle.exe "c:\program files\microsoft\exchange server\v14\transportroles\data\<foldername>\<databasename>"

    4. Determine whether any non-Exchange processes are using the database files.

  • Verify that all of the Transport database files exist in the Queue directory. If one or more of the files are not present, follow these steps:

    1. Stop the Microsoft Exchange Transport service.

    2. Remove the transport database. To do this, rename the following folder:

      %ProgramFiles%\Microsoft\Exchange Server\V14\TransportRoles\data\Queue

    3. Start the Microsoft Exchange Transport service to determine whether mail flow is restored.

    4. Try to repair the original Transport database to recover any queued messages.

  • Determine whether the transport database is corrupted. To do this, follow these steps:

    1. Stop the Microsoft Exchange Transport service.

    2. Remove the transport database. To do this, rename the following folder:

      %ProgramFiles%\Microsoft\Exchange Server\V14\TransportRoles\data\Queue

    3. Start the Microsoft Exchange Transport service to determine whether mail flow is restored.

    4. Try to repair the original Transport database to recover any queued messages.

  • To recover any queued messages from the original Transport database use the Eseutil tool to repair the Mail.que database. For more information, see Working with the Queue Database on Transport Servers. Specifically, move the original Transport database files to a working location, and use the Eseutil tool to perform the following actions against the original Transport database files:

    1. Run the following command to dump the database headers. Then, view the results to determine whether the Mail.que database is in a dirty shutdown state.

      Eseutil /mh mail.que

    2. If the database is in a dirty shutdown state, run the following command to replay any outstanding transaction logs:

      Eseutil /r trn

    3. If MsExchangeTransport Event ID 17011 is logged to indicate that the checkpoint file is damaged, remove the .chk file, and then run the Eseutil /r trn command to replay the transaction log files.

    4. If the Mail.que or transaction log files are damaged or missing, run the following command to perform a checksum test:

      Eseutil /K mail.que

      Then, before you run a hard repair against the database, run the following command to run a read-only version of the hard repair:

      Eseutil /G mail.que

    5. If you have to perform a hard repair of the database, run the following command:

      Eseutil /p mail.que

      Important   The Eseutil /p command is a destructive command. When you run this command, some data loss will occur. We recommend that you only use this command after all other troubleshooting steps have been unsuccessful.

    6. Run the following command to defragment the repaired database:

      Eseutil /d mail.que

    7. Restore the database files to their original location. Use the steps in the Working with the Queue Database on Transport Servers topic to do this. For example, perform the following steps as specified in the linked document:

    • Pause the Microsoft Exchange Transport service.

    • Use the Queue Viewer tool to verify that all Transport queues have emptied, and then export any messages that have not emptied.

    • Stop the Microsoft Exchange Transport service.

    • Replace the new database files with the original files, and then start the Microsoft Exchange Transport service.

  • Resolve your issue by using self-support options, assisted support options, and other resources. You can access these resources from the Exchange Server Solutions Center. From this page, click Self-Support Options in the navigation pane to use self-help options. Self-help options include searching the Microsoft Knowledge Base, posting a question at the Exchange Server forums, and other methods. Alternatively, in the navigation pane, you can click Assisted Support Options to contact a Microsoft support professional. Because your organization may have a specific procedure for directly contacting Microsoft Product Support Services, be sure to review your organization's guidelines first.

or more information about the transport pipeline in Exchange 2010, see Understanding Transport Pipeline and also the Exchange Server Team blog article,

Exchange 2010 Transport Architecture Diagrams Available for Download.

The content of each blog and its URL are subject to change without notice. The content within each blog is provided "AS IS" with no warranties, and confers no rights. Use of included script samples or code is subject to the terms specified in the Microsoft Terms of Use.