Applies to: Exchange Server 2007 SP3, Exchange Server 2007 SP2, Exchange Server 2007 SP1, Exchange Server 2007
Topic Last Modified: 2007-07-11

This topic describes two ways to rebuild the full-text index catalog, programmatically via an Exchange Management Shell script, and by manually deleting the full-text index catalog directory.

To programmatically rebuild the full-text index catalog, run the ResetSearchIndex.ps1 script provided at <drive>:\Program Files\Microsoft\Exchange Server\Scripts\.

To manually rebuild the full-text index catalog, stop the Microsoft Exchange Search Service, delete the old catalog, and then restart the service. This procedure forces the server to re-create the full-text index catalog.

Before You Begin

To perform the following procedures, the account you use must be delegated membership in the local Administrators group.

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

Procedure

To Rebuild the Full-Text Index Catalog Using the ResetSearchIndex.ps1 Script

  1. Start the Exchange Management Shell.

  2. Remove the index directories that are associated with specified mailbox databases:

    Copy Code
    ResetSearchIndex.ps1 [-force]  <dbname> [<dbname>]
    
  3. Remove the index directories that are associated with all mailbox databases:

    Copy Code
    ResetSearchIndex.ps1 [-force] -all
    

To Manually Rebuild the Full-Text Index Catalog

  1. Stop the Microsoft Exchange Search Service by running the following command:

    Copy Code
    Net Stop MsExchangeSearch
    
  2. Delete the full-text index catalog directory.

    There are scripts located in the \Exchange Server\Scripts directory that can help you to administer and manage Exchange Search. Using the Exchange Management Shell, you can run the following scripts:

    • GetDatabaseForSearchIndex.ps1   When the index directory files are provided, this script returns the associated mailbox database names. Example script:

    Copy Code
    GetDatabaseForSearchIndex IndexDirectoryName1 IndexDirectoryName2
    
    • GetSearchIndexForDatabase.ps1   This script returns index directories for the specified mailbox database names. Example script:

    Copy Code
    GetSearchIndexForDatabase MailboxdatabaseName1 MailboxdatabaseName2 -All
    
    Note:
    The directory name follows the convention CatalogData-<guid>-<guid> where the first <guid> is the GUID of the database, and the second <guid> represents the Instance GUID, which is used on a clustered mailbox server to distinguish between the nodes. The following is an example folder name: \CatalogData-b56624f3-bf19-4463-926f-d4705ac3dd08-cc64dd2d-2428-4f12-bba2-79d6d34c4d27The typical path for the .edb files and the catalog data directory is: C:\program files\microsoft\exchange server\mailbox\first storage group\

    You can use the following example to verify that you are targeting the appropriate catalog directory:

    Copy Code
    GetSearchIndexForDatabase -All
    
  3. Start the Microsoft Exchange Search Service by running the following command:

    Copy Code
    Net Start MsExchangeSearch