Проблема:
Иногда случается, что индекс содержимого базы данных Exchange ломается. Первое с чем сталкиваются пользователи - это сбой при попытке поиска элементов в клиенте Outlook, как локально, так и через Outlook Web Access.
Неполадки остаются без внимания, когда остальные службы работают нормально, однако в конечном итоге отсутствие индекса вызывает проблемы. Например, если используется группа доступности базы данных - Database Availability Group (DAG), возникает проблема с переключением баз данных.
Решение:
Первое, убедитесь в функционировании служб:
- “Microsoft Exchange Search”;
- “Microsoft Exchange Search Host Controller”.
Для DAG!
Диагностика:
1. Проверка статуса индексации баз данных:
Get-MailboxDatabaseCopyStatus * | where {$_.ContentIndexState -eq “Failed”}
Если при выводе «MailboxDatabaseCopyStatus» статус ContentIndex - “Failed”, исправляем «индекс».
Решение проблемы:
1. Проверка статуса индексации баз данных и исправление:
Get-MailboxDatabaseCopyStatus * | where {$_.ContentIndexState -eq “Failed”} | Update-MailboxDatabaseCopy -CatalogOnly
Передадим отфильтрованные выходные данные полученные при выполнении "Get-MailboxDatabaseCopyStatus" в командлет "Update-MailboxDatabaseCopy" с ключом "-CatalogOnly", чтобы повторно заполнить индекс базы данных почтовых ящиков.
2. Дождитесь завершения задачи, и снова проверьте состояние индекса:
Get-MailboxDatabaseCopyStatus * | fl ContentIndex*
Без DAG!
Диагностика:
1. Проверка статуса индексации баз данных:
Get-MailboxDatabaseCopyStatus * | where {$_.ContentIndexState -eq “Failed”}
Если при выводе «MailboxDatabaseCopyStatus» статус ContentIndex - “Failed and Suspend”, создаем новый «индекс».
Решение проблемы:
1. Останавливаем службы:
- “Microsoft Exchange Search”;
- “Microsoft Exchange Search Host Controller”.
В PowerShell:
Stop-Service -Name MSExchangeFastSearch, HostControllerService
2. Расположение базы данных:
Get–MailboxDatabase DB2Gb | select EdbFilePath
3. Переименовываем директорию с GUID базы данных, например, с именем:
CGER7751-F8G3-21XJ-K4562DFC321LW56.1.Single
4. Запускаем службы:
- “Microsoft Exchange Search”;
- “Microsoft Exchange Search Host Controller”.
В PowerShell:
Start-Service -Name MSExchangeFastSearch, HostControllerService
5. Дождитесь завершения задачи, и снова проверьте состояние индекса:
Get-MailboxDatabaseCopyStatus * | fl ContentIndex*
Важно! Создание полнотекстового индекса продолжительно, также повышенна нагрузка на дисковую подсистему. Выполнять в периоды минимальной нагрузки, например, в выходные дни!
Иногда случается, что индекс содержимого базы данных Exchange ломается. Первое с чем сталкиваются пользователи - это сбой при попытке поиска элементов в клиенте Outlook, как локально, так и через Outlook Web Access.
Неполадки остаются без внимания, когда остальные службы работают нормально, однако в конечном итоге отсутствие индекса вызывает проблемы. Например, если используется группа доступности базы данных - Database Availability Group (DAG), возникает проблема с переключением баз данных.
Решение:
Первое, убедитесь в функционировании служб:
- “Microsoft Exchange Search”;
- “Microsoft Exchange Search Host Controller”.
Для DAG!
Диагностика:
1. Проверка статуса индексации баз данных:
Get-MailboxDatabaseCopyStatus * | where {$_.ContentIndexState -eq “Failed”}
Если при выводе «MailboxDatabaseCopyStatus» статус ContentIndex - “Failed”, исправляем «индекс».
Решение проблемы:
1. Проверка статуса индексации баз данных и исправление:
Get-MailboxDatabaseCopyStatus * | where {$_.ContentIndexState -eq “Failed”} | Update-MailboxDatabaseCopy -CatalogOnly
Передадим отфильтрованные выходные данные полученные при выполнении "Get-MailboxDatabaseCopyStatus" в командлет "Update-MailboxDatabaseCopy" с ключом "-CatalogOnly", чтобы повторно заполнить индекс базы данных почтовых ящиков.
2. Дождитесь завершения задачи, и снова проверьте состояние индекса:
Get-MailboxDatabaseCopyStatus * | fl ContentIndex*
Без DAG!
Диагностика:
1. Проверка статуса индексации баз данных:
Get-MailboxDatabaseCopyStatus * | where {$_.ContentIndexState -eq “Failed”}
Если при выводе «MailboxDatabaseCopyStatus» статус ContentIndex - “Failed and Suspend”, создаем новый «индекс».
Решение проблемы:
1. Останавливаем службы:
- “Microsoft Exchange Search”;
- “Microsoft Exchange Search Host Controller”.
В PowerShell:
Stop-Service -Name MSExchangeFastSearch, HostControllerService
2. Расположение базы данных:
Get–MailboxDatabase DB2Gb | select EdbFilePath
3. Переименовываем директорию с GUID базы данных, например, с именем:
CGER7751-F8G3-21XJ-K4562DFC321LW56.1.Single
4. Запускаем службы:
- “Microsoft Exchange Search”;
- “Microsoft Exchange Search Host Controller”.
В PowerShell:
Start-Service -Name MSExchangeFastSearch, HostControllerService
5. Дождитесь завершения задачи, и снова проверьте состояние индекса:
Get-MailboxDatabaseCopyStatus * | fl ContentIndex*
Важно! Создание полнотекстового индекса продолжительно, также повышенна нагрузка на дисковую подсистему. Выполнять в периоды минимальной нагрузки, например, в выходные дни!