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.

  1. Start the Exchange Management Shell.
  2. If you want to remove the index directories that are associated with specified mailbox databases: ResetSearchIndex.ps1 [-force] <dbname> [<dbname>]
  3. If you want to remove the index directories that are associated with all mailbox databases: ResetSearchIndex.ps1 [-force] -all
  4. Stop the Microsoft Exchange Search Service by running the following command: Net Stop MsExchangeSearch
  5. 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 -All
      The following is an example folder name: \CatalogData-b56624f3-bf19-4463-926f-d4705ac3dd08-cc64dd2d-2428-4f12-bba2-79d6d34c4d27
      Finally, Start the Microsoft Exchange Search Service by running : Net Start MsExchangeSearch

6 Comments

  1. Chris Taylor

    This script is removed from EX2013.

    Reply

  2. 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?

    Reply

  3. 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

    Reply

  4. 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

    Reply

Leave a Reply

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

Protected by WP Anti Spam