How to Fix Error – Content Index State Failed and Suspended?

You might encounter an unusual error on the Exchange Server database index saying, “The content index state is failed and suspended.” The error does not impact the accessibility to the databases as the users will still be able to access, read, send, and receive the emails. However, this will impact any user who is trying to connect via Outlook Web Access (OWA) and trying to search in the mailbox.

The functionality impact of the error on the Exchange Server infrastructure is that if you have a Database Availability Group (DAG) setup, it can cause issues when doing a switchover or failover to another server. Although it is not critical to the users, you will not want any issues with your server. If something occurs on the server and it fails to do a failover, it will leave your users without access to their mailboxes.

This issue might occur during a migration from an older version of Exchange Server or due to a problem of storage space.

If the issue has been reported by the users that they cannot search on their mailboxes, the only way to identity the issue is by checking the mailbox database copy status. For this, you can use the PowerShell cmdlet Get-MailboxDatabaseCopyStatus in the Exchange Management Shell (EMS).

Get-MailboxDatabaseCopyStatus * | sort name | Select name,status,contentindexstate

Get-MailboxDatabaseCopyStatus

This will show the status of the databases and the content index state. If the state shows FailedAndSuspended, then you need to intervene to resolve the problem.

Single Server

When your Exchange Server is a standalone server and is not part of a Database Availability Group (DAG), you can rebuild the content index by following the below procedure.

Note: Although this is a simple procedure, you might end up with performance degradation on the server as it is very resource hungry on the CPU utilization. It is strongly suggested to run this process during a maintenance window or at night or on a weekend.

The first step is to stop the Microsoft Exchange Search and the Microsoft Exchange Search Host Controller services.

Exchange Search Host Controller services

This can be done from the services.msc. For this, right-click on the service and then click on stop. Alternatively, this can be done from PowerShell by using the Stop-Service cmdlet (as given below).

Stop-Service MSExchangeFastSearch
Stop-Service HostControllerService

Stop-Service cmdlet

The next step is to delete the content index from the path of the database. This can be done by using the File Explorer. For this, browse to the folder where the EDB file is stored which corresponds to the database with the problem and delete the folder with the GUID.

delete the content index from the path of the database

Make sure that the services mentioned above are stopped, otherwise you will not be allowed to delete the folder. If you are unsure of the file path, you can use the PowerShell cmdlet Get-MailboxDatabase to get the file path of the database.

Get-MailboxDatabase <database name> | select EdbFilePath

Get-MailboxDatabase

After you have deleted the folder of the content index, start the services as given below.

start the services

You can also use the below PowerShell cmdlet to start the services.

Start-Service MSExchangeFastSearch
Start-Service HostControllerService

Now, the services will start crawling and indexing all the content of the database. The indexing may take some time to complete, depending on the size and number of items of the database. Once this is done, re-run the Get-MailboxDatabaseCopyStatus PowerShell cmdlet. You will see the database state as healthy.

database state as healthy

DAG Setup

When your database is in a Database Availability Group (DAG), you need to run the re-seeding of the database from a healthy database copy. This can be done by using the Update-MailboxDatabaseCopy PowerShell cmdlet (as given below).

Update-MailboxDatabaseCopy <database name>\<source server name> -CatalogOnly -BeginSeed

Database Availability Group

This operation may take time, depending on the connection between the servers and the size of the database. Once the operation is complete, re-run the Get-MailboxDatabaseCopyStatus PowerShell cmdlet. You will see the ContentIndexState as healthy.

ContentIndexState as healthy

To Conclude

While the above-given procedure resolves the issue, this does not mean that it will work every time. If the issue occurs on a regular basis, it indicates corruption in the database. If this is the case, you can use the Exchange server native tools, such as ESEUtil, to run a database recovery process. However, to do so, the database must be offline.

Alternatively, you can use Stellar Repair for Exchange to repair and export all mailboxes to PST and other formats, while being able to browse the whole database, mailboxes, contacts, calendar, tasks, and journal of each mailbox. By using the Exchange recovery software, you can also export all mailboxes directly to a live Exchange database or an Office 365 tenant, matching the mailboxes and other features.

Leave a Reply

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload CAPTCHA.

>