Rebuilding Content Indexes/Catalog in Exchange

M AService Manager
CERTIFIED EXPERT
Most Valuable Expert2017 and 2020.
O365, Exchange Server,Windows Server, Active Directory, Virtualization, Teams and Email Migration Expert.
Published:
Updated:
This article will help to fix search issues due to corrupted index/catalog..
When the content index for an Exchange database has become corrupt, the indexes will have to be rebuilt or reseeded from another DAB member if it is in DAG.

In this Article, we will review the steps required in a single server scenario.

This process will remove the existing content index/catalog files. In doing so, it will trigger Exchange Search to re-index the database.

The re-indexing of database will create a high load on the Exchange Server. In turn, it will have an impact on server performance. So, it is always recommended to do the re-indexing after working hours to avoid impacting your end-users.

The content index/catalog files are located in a sub-folder (named with a GUID), within the folder location of the database EDB file. If you don't know the location of the database file, you can use the following command.
Get-MailboxDatabase databasename | fl edbfilepath

Before removing the corrupted index/catalog files, Exchange Search service and host service must be stopped. Search in OWA may not work when these services are stopped. The content indexes of the database will be reported as "Failed" while these services stopped.
Run the following command to stop Exchange Search and the Exchange Host Controller.
Stop-Service MSExchangeFastSearch; Stop-Service HostControllerService.

Please run the following command to check the content index state.
Get-MailboxDatabaseCopyStatus

When the services are stopped, delete the GUID-named folder that contains the content index files. In some cases if you are unable to delete file you will have to make sure antivirus is off.

If you successfully deleted the file/folder, start the services using the following command.
Start-Service MSExchangeFastSearch; Start-Service HostControllerService

The content index will have a state of "Crawling" while it is being indexed. Run the following command to check.
Get-MailboxDatabaseCopyStatus

You can monitor the progress of the database crawl by watching the MSExchange Search Indexes Crawler: Mailboxes Remaining counter in Performance Monitor for that database instance.

After around 15-30min I found content index state is healthy on all the databases. The time taken for indexing will vary based on the size of the databases.

Now OWA and Outlook search should be working as expected.

 

0
2,587 Views
M AService Manager
CERTIFIED EXPERT
Most Valuable Expert2017 and 2020.
O365, Exchange Server,Windows Server, Active Directory, Virtualization, Teams and Email Migration Expert.

Comments (1)

Amit SinghCloud Security Engineer
Distinguished Expert 2023

Commented:
If you are facing this issue on regular basis, and not able to fix failed content index, it indicates the corruption in Exchange database. If this is the case, use ESEUtil, to repair corrupt database. Make sure database should be offline.

Have a question about something in this article? You can receive help directly from the article author. Sign up for a free trial to get started.