Exchange 2013 Tips & Tricks – Rebuild content index

В некоторых случаях, когда статус индекса контекстного поиска принимает значения Failed, FailedAndSuspended и другие, отличные от Healthy, необходимо пересоздать индекс. В Exchange 2010 для этого можно было воспользоваться скриптом ResetSearchIndex.ps1, который шел вместе с дистрибутивом, но в Exchange 2013 этот скрипт убрали.


Сделать это можно так.

  1. Необходимо определить, где находится папка с самим индексом для определенной почтовой базы. Выполняем следующую команду, чтобы определить, где располагается ebd-файл почтовой базы:
    Get-MailboxDatabase "Mailbox Database 2108265346" -Status | fl EdbFilePath

    image

  2. Переходим в эту папку
  3. Останавливаем службы Microsoft Exchange Search Host Controller и Microsoft Exchange Search
    net stop HostControllerService
    net stop MSExchangeFastSearch

    image

  4. После остановки указанных служб, в папке с edb-файлом удаляем папку с именем, соответствующим значению Guid для этой почтовой базыimage
  5. Запускаем остановленные ранее службы
    net start HostControllerService
    net start MSExchangeFastSearch

    image

  6. После запуска служб папка с индексом опять появится и начнется его пересоздание. При этом служба поиска будет индексировать все почтовые ящики в базе, поэтому процесс пересоздания может занять довольно продолжительное времяimage
  7. После окончания индексирования всех почтовых ящиков, индекс будет иметь статус Healthyimage



Читайте также:

комментария 3

  1. С одним уточнением — если это не сервер в DAG.

    • Max:

      А в случае с серверами в DAG как поступать?

      • В общем виде: остановить службы поиска на всех членах DAG, где есть копия базы. Удалить на этих серверах папку с индексом. Включить службы поиска.
        Более подробно опишу в ближайшее время в статье: для DAG есть несколько нюансов.

Добавить комментарий