Exchange Server 2013 Content Index “Unknown” em Databases ativas e passivas
Logo após ter instalado o Exchange 2013 e configurado a DAG, iniciou-se o problema. No content index de todas as Databases do Exchange, fosse ela passiva ou ativa, o status pernamecia como Content Index “Unknown”.
Eu já havia tentado basicamente todos os métodos para resolver o problema, como por exemplo a criação do grupo ContentSubmitters como solicita a Microsoft. Havia também tentado realizar o procedimento de stop do serviço de search, exclusão da pasta do index e start do serviço de search, em seguida do reseed. Mas realmente nada funcionou.
Eis as logs que eram geradas no Event Viewer:
EventID 1009
The indexing of mailbox database XXX encountered an unexpected exception. Error details: Microsoft.Exchange.Search.Core.Abstraction.OperationFailedException: The component operation has failed. —> Microsoft.Exchange.Search.Engine.FeedingSkippedException: “Feeding was skipped for ‘XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX’ due to the state ‘Unknown’, error code: ‘Unknown’.”
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)
EventID 1006
The FastFeeder component received a connection exception from FAST. Error details: 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)
at Microsoft.Ceres.InteractionEngine.Component.CieProcessingEngine.GetItems(Guid flowIdentifier, String outputName)
at SyncInvokeGetItems(Object , Object[] , Object[] )
at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)
at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)).
Resolução:
Primeiramente eu sugiro que seja sempre aplicado o ultimo CU possível do Exchange 2013 para que o problema seja sanado. Se acaso não seja realmente possível atualizar, a solução – que pelo menos para mim funcionou – foi recriar o Index Search Foundation “from scratch”, que seria nada mais que recriar toda a estrutura de Index Search do zero no servidor. Eis o procedimento:
- Realize o STOP do serviço de Microsoft Exchange Search e Microsoft Exchange Search Host Controller e os desabilite para que não iniciem automaticamente.
- Renomeie a pasta DATA: “C:\Program Files\Microsoft\Exchange Server\V15\Bin\Search\Ceres\HostController\Data”
- Abra o shell do Exchange e navegue até a pasta: “C:\Program Files\Microsoft\Exchange Server\V15\Bin\Search\Ceres\Installer”
- Execute o seguinte comando:
.\installconfig.ps1 -action I -dataFolder "c:\Program Files\Microsoft\Exchange Server\V15\Bin\Search\Ceres\HostController\Data"
O resultado deverá ser:
[PS] C:\Program Files\Microsoft\Exchange Server\V15\Bin\Search\Ceres\Installer>.\installconfig.ps1 -action I -dataFolder “C:\Program Files\Microsoft\Exchange Server\V15\Bin\Search\Ceres\HostController\Data”
Configuring Search Foundation for Exchange….
Successfully configured Search Foundation for Exchange
- Realize o START do serviço de Microsoft Exchange Search e Microsoft Exchange Search Host Controller
- Renomeie os arquivos de index das databases que são ativas no servidor
- Realize o START do serviço de Search Index
- Navegue até: %ExchangeInstallPath%\Bin\Search\Ceres\HostController\Data\Nodes\Fsis\NODE\Configuration\Local e localize o arquivo WcfConfigurator
Nota: O nome “NODE” representa quatro pastas diferentes:
- AdminNode1
- ContentEngineNode1
- IndexNode1
- InteractionEngineNode1
Em cada pasta “NODE” existe um arquivo WcfConfigurator.
- Abra os arquivos WcfConfigurator e remova SOMENTE a seguinte linha de cada um:
<AuthorizedRole>ContentSubmitters</AuthorizedRole>
- Realize o restart do serviço Exchange Search Host Controller service
- Verifique se o status do ContentIndex agora é Crawling ao invés de Unknown das databases ativas
- Quanto o processo de Crawling terminar e os Indexes estiverem como Healthy, aplique o seguinte comando para cada replica de database:
Update-MailboxDatabaseCopy -Identity Database\MailboxServer –CatalogOnly