Abstract: During a health check from your Microsoft Exchange server you found out that a content index state on Microsoft Exchange isn´t any longer healthy.
The issue with the content index state could be found on various places. For example if you run:
Get-ServerHealth exch02.int.contoso.com | ?{$_.HealthSetName -eq “Search”}
you might see the error:
exch02.... NotApplicable SearchCopyStatusH... EXCHMB1-DE-3GB Search Unhealthy None
exch02.... NotApplicable SearchLocalPassiv... EXCHMB1-DE-3GB Search Unhealthy None
or if you run
Get-MailboxDatabaseCopyStatus * | where {$_.ContentIndexState -eq “FailedAndSuspended”}
or
Get-MailboxDatabaseCopyStatus -Server $env:computername | where {$_.ContentIndexState -eq “FailedAndSuspended”}
You might see a
Name Status CopyQueue ReplayQueue LastInspectedLogTime ContentIndex
Length Length State
---- ------ --------- ----------- -------------------- ------------
EXCHMB1-DE-3GB\EXCH02 Healthy 0 0 2016-06-21 12:00:36 FailedAnd...
You will also see the error inside the eventlog:
The indexing of mailbox database DEFFMEXCHMB1-DE-3GB encountered an unexpected exception. Error details: Microsoft.Exchange.Search.Core.Abstraction.OperationFailedException: The component operation has failed. --->
Fixing the issue is quite easy if you have a DAG in place and the index is broken on only one DAG member. Simply run the following:
Get-MailboxDatabaseCopyStatus * | where {$_.ContentIndexState -eq “FailedAndSuspended”} | Update-MailboxDatabaseCopy -CatalogOnly
or
Get-MailboxDatabaseCopyStatus -Server $env:computername | where {$_.ContentIndexState -eq “FailedAndSuspended”} | Update-MailboxDatabaseCopy -CatalogOnly
You also can do that on a per DB level:
Update-MailboxDatabaseCopy -Identity “EXCHMB1\EXCH01” -CatalogOnly
If the index is broken on all DAG member then you can perform a full reset as explained here.
Cross information:
http://exchangeserverpro.com/fix-all-failed-exchange-database-content-indexes/