Note: this tip applies to Exchange Server 2013 Mailbox servers that are not members of a Database Availability Group. For failed content indexes on DAG members refer to this article.

On an Exchange Server 2013 server you may encounter failed content indexes that are preventing end users from being able to run searches in OWA and Outlook.

A failed content index will be visible in the output of Get-MailboxDatabaseCopyStatus:

Failed Database Content Index for Exchange 2013_第1张图片

[PS] C:\>Get-MailboxDatabaseCopyStatus * | ft -auto

Name             Status  CopyQueueLength ReplayQueueLength LastInspectedLogTime ContentIndexState

---- ------ --------------- ----------------- -------------------- -----------------

DB01EX2013SRV1  Mounted 0 0 FailedAndSuspended

DB02EX2013SRV1  Mounted 0 0 FailedAndSuspended

DB03EX2013SRV1  Mounted 0 0 Healthy

DB04EX2013SRV1  Mounted 0 0 FailedAndSuspended

DB05EX2013SRV1  Mounted 0 0 Disabled

In the example above the content indexes for DB01, DB02, and DB04 are failed.

Other indications of a problem can be seen in the Application event log, for example:

Failed Database Content Index for Exchange 2013_第2张图片



Log Name: Application

Source: MSExchangeIS

Date: 2/16/2015 11:09:26 AM

Event ID: 1012

Description:

Exchange Server Information Store has encountered an error while executing a full-text

index query ("eDiscovery search query execution on database 191987bf-5e9f-4ba4-b13b-3cadcb9e51f5

failed."). Error information: System.ServiceModel.FaultException`1[System.ServiceModel.ExceptionDetail]:

Internal error while processing request (Fault Detail is equal to An ExceptionDetail, likely created by

IncludeExceptionDetailInFaults=true, whose value is:

Microsoft.Ceres.InteractionEngine.Component.ProcessingEngineException: Internal error while processing request

at Microsoft.Ceres.InteractionEngine.Component.CieProcessingEngine.LogAndRethrowException(Exception e)

Log Name: Application

Source: MSExchangeFastSearch

Date: 2/16/2015 11:06:13 AM

Event ID: 1009

Description:

The indexing of mailbox database DB02 encountered an unexpected exception. Error details:

Microsoft.Exchange.Search.Core.Abstraction.OperationFailedException: The component operation has failed.

---> Microsoft.Exchange.Search.Engine.FeedingSkippedForCorruptionException: "Feeding was skipped for

'63fe7551-8100-4e3e-9a3e-4b14744eddb6 (DB02)' due to the state 'Failed', error code: 'CatalogCorruption',

failure code: '2400519', failure reason: 'Failed to initialize FastServer: Generation mismatch:

0 < GID[82381] [IndexName=63FE7551-8100-4E3E-9A3E-4B14744EDDB612.Single]'."

at Microsoft.Exchange.Search.Engine.SearchFeedingController.InternalExecutionStart()

at Microsoft.Exchange.Search.Core.Common.Executable.InternalExecutionStart(Object state)

--- End of inner exception stack trace ---

at Microsoft.Exchange.Search.Core.Common.Executable.EndExecute(IAsyncResult asyncResult)

at Microsoft.Exchange.Search.Engine.SearchRootController.ExecuteComplete(IAsyncResult asyncResult)

To rebuild a failed content index we first need to stop the search services on the Exchange server. Note that this may impact searches for other healthy databases, and the rebuilding process can also create a significant load on the server, so you may wish to do these steps outside of normal business hours.

Stop the following services:

  • Microsoft Exchange Search Host Controller
  • Microsoft Exchange Search

Failed Database Content Index for Exchange 2013_第3张图片

[PS] C:\>stop-service MSExchangeFastSearch

[PS] C:\>stop-service HostControllerService

Navigate to the location of the content index for the database. This will be the same folder that the database file is located in. For example, DB01 is located in F:DB01.

Failed Database Content Index for Exchange 2013_第4张图片

[PS] C:\>Get-MailboxDatabase DB01 | select EdbFilePath

EdbFilePath

-----------

F:DB01DB01.edb

The content index is stored in a folder named for the GUID of the database.

Failed Database Content Index for Exchange 2013_第5张图片

Delete the folder. Repeat the same steps to delete the folder for any other failed content indexes you're also dealing with at the time.

Then start the search services again.


[PS] C:\>start-service MSExchangeFastSearch

[PS] C:\>start-service HostControllerService

The content indexes will be rebuilt, which can take quite a while to complete depending on the amount of data in the databases.

Eventually you should find that your content indexes are healthy again.


[PS] C:\>Get-MailboxDatabaseCopyStatus * | ft -auto

Name             Status  CopyQueueLength ReplayQueueLength LastInspectedLogTime ContentIndexState

---- ------ --------------- ----------------- -------------------- -----------------

DB01EX2013SRV1  Mounted 0 0 Healthy

DB02EX2013SRV1  Mounted 0 0 Healthy

DB03EX2013SRV1  Mounted 0 0 Healthy

DB04EX2013SRV1  Mounted 0 0 Healthy

DB05EX2013SRV1  Mounted 0 0 Disabled