Recently, I have noticed one issue showing ‘Database Content Index State: FailedAndSuspended’.
Error details: Microsoft.Exchange.Search.Core.Abstraction.OperationFailedException: The component operation has failed. —> Microsoft.Exchange.Search.Core.Abstraction.CatalogReseedException: The component operation has failed.
at Microsoft.Exchange.Search.Engine.SearchFeedingController.DetermineFeederState()
at Microsoft.Exchange.Search.Engine.SearchFeedingController.InternalExecutionStart()
at Microsoft.Exchange.Search.Core.Common.Executable.InternalExecutionStart(Object state)
ResetSearchIndex.ps1helped me to resolve the issue and I would like to describe the steps followed to help you out also.
- Start the Exchange Management Shell.
- If you want to remove the index directories that are associated with specified mailbox databases: ResetSearchIndex.ps1 [-force] <dbname> [<dbname>]
- If you want to remove the index directories that are associated with all mailbox databases: ResetSearchIndex.ps1 [-force] -all
- Stop the Microsoft Exchange Search Service by running the following command: Net Stop MsExchangeSearch
- Delete the full-text index catalog directory.The scripts are located in the \Exchange Server\Scripts directory. Run the following scripts:
- GetDatabaseForSearchIndex.ps1 – The script shows the associated mailbox database names.
Example: GetDatabaseForSearchIndex IndexDirectoryName1 IndexDirectoryName2
- GetSearchIndexForDatabase.ps1 – The script shows the index directories for the specified mailbox database names
Example: GetSearchIndexForDatabase MailboxdatabaseName1 MailboxdatabaseName2 -AllThe following is an example folder name: \CatalogData-b56624f3-bf19-4463-926f-d4705ac3dd08-cc64dd2d-2428-4f12-bba2-79d6d34c4d27Finally, Start the Microsoft Exchange Search Service by running : Net Start MsExchangeSearch
- GetDatabaseForSearchIndex.ps1 – The script shows the associated mailbox database names.
#
#
This script is removed from EX2013.
#
I appreciate your contributions to the Exchange community.
Quick Question:
How do I specify the Exchange_Server and Exchange_Database name?
I currently have an Exchange 2010 Server with an Exchange Server 2013 that is provisioned and ready for Upgrade Migration.
Upon executing the ResetSearchIndex.ps1 [-force] -all
I get the following error…
The operation couldn’t be performed because object ‘[-force]’ couldn’t be found on ‘COMPUTERNAME.DOMAINNAME.COM’.
+ CategoryInfo : NotSpecified: (:) [Get-MailboxDatabase], ManagementObjectNotFoundException
+ FullyQualifiedErrorId : A69298B2,Microsoft.Exchange.Management.SystemConfigurationTasks.GetMailboxDatabase
How can I specify the Database Name and Server within the Power Shell Command?
#
Thank you very much for visiting my blogs and finding out solutions for the cases.
Actually, you have to use the cmdlet in the following way (-force switch without a square bracket)
ResetSearchIndex.ps1 -force -all
Let me know if you are able to execute the above PS cmdlet successfully
#
Thank you Chris Taylor for noticing it.
I have also found that 2013 doesn’t support the ResetSearchIndex.ps1 anymore
Manual way of rebuilding the search index can be achieved by the following steps
1. Stop the Windows Services: “Microsoft Exchange Search service”, “Microsoft Exchange Host Controller”
2. Delete the Existing CI catalog folder or move it to a new location.
3. Start the Services: “Microsoft Exchange Search service”, “Microsoft Exchange Host Controller” again
Hope this helps