How to Diagnose Exchange Search Issues

Microsoft Exchange Server 2007 will reach end of support on April 11, 2017. To stay supported, you will need to upgrade. For more information, see Resources to help you upgrade your Office 2007 servers and clients.

 

Applies to: Exchange Server 2007, Exchange Server 2007 SP1, Exchange Server 2007 SP2, Exchange Server 2007 SP3

This topic explains how to use the Exchange Management Shell, Services Microsoft Management Console (MMC) snap-in, Event Viewer, and Performance Monitor to diagnose and resolve Exchange Search issues.

Before You Begin

To run the Get-MailboxDatabase cmdlet or Test-ExchangeSearch cmdlet, the account you use must be delegated the following:

  • Exchange Server Administrator role and local Administrators group for the target server

For more information about permissions, delegating roles, and the rights that are required to administer Microsoft Exchange Server 2007, see Permission Considerations.

Procedure

To diagnose Exchange Search issues

  1. Is the MSExchangeSearch service started on the Mailbox server? If Yes, go to Step 2. If No, use the Services MMC snap-in to verify that the MSExchangeSearch service is running:

    1. Click Start, and then click Control Panel.

    2. In Control Panel, double-click Administrative Tools.

    3. In Administrative Tools, double-click Services.

    4. Verify that the Microsoft Exchange Search Indexer service is started.

  2. Is the IndexEnabled parameter set to true for the mailbox database of the user? If Yes, go to Step 3. If No, run the following command in the Exchange Management Shell to verify that the IndexEnabled flag is set to true:

    Get-MailboxDatabase |ft Name,IndexEnabled
    

    For detailed syntax and parameter information, see Get-MailboxDatabase.

  3. Has the Exchange database been crawled? If Yes, go to Step 4. If No, use Performance Monitor to check the Full Crawl Mode Status counter. This counter is stored in the MSExchange Search Indices performance object. Select the instance for the user's database. When the database is still being crawled, it has a value of 1. When the crawl is complete, the value is 0. Other relevant search counters are located under the following performance objects:

    • MSExchange Search Indexer

    • MSFTESQL-Exchange:Catalogs

    • MSFTESQL-Exchange:FD

    • MSFTESQL-Exchange:Indexer

    • MSFTESQL-Exchange:Service

    Full Crawl Mode Status

    For information about using Performance Monitor, see Windows Server 2003 Monitoring Features and Tools in the Microsoft Exchange Service Management Guide.

  4. Run the Test-ExchangeSearch command for the user:

    Test-ExchangeSearch -Identity TedBremer@contoso.com
    

    For more information about testing Exchange Search, see Test-ExchangeSearch.

  5. Check Event Viewer for search-related error messages. Check the Source: MSExchangeSearch Indexer and msftesql-Exchange events. For more information, follow the link on the event log.

  6. Use the Services MMC snap-in to stop, and then restart the Microsoft Search (Exchange) service:

    1. Click Start, point to Settings, point to Control Panel, point to Administrative Tools, and then click Services.

    2. In the Services details pane, right-click Microsoft Search (Exchange), and then click Stop. After the service is stopped, right-click the service again, and then click Start.