Exchange. Как восстановить индекс базы данных.
Рано или поздно происходит страшное. Exchange говорит что индексация базы данных нарушена.
На самом деле не все так страшно. Если используется DAG, то мы можем просто скопировать индекс со второй копии БД. Это делается одной командой PowerShell.
Так как восстанавливать индекс мы будем на одной конкретной базе, нам нужно знать имя базы и имя сервера на котором эта база. На любом из серверов запускаем «Exchange Management shell» и выполняем команду:
[PS] C:\Windows\system32>Get-MailboxDatabaseCopyStatus -Identity * Name Status CopyQueue ReplayQueue LastInspectedLogTime ContentIndex Length Length State ---- ------ --------- ----------- -------------------- ------------ db13\MAIL13 Mounted 0 0 Healthy db14\MAIL14 Mounted 0 0 28.08.2018 16:38:02 Healthy db14\MAIL14 Mounted 0 0 28.08.2018 16:34:11 Failed db15\MAIL15 Mounted 0 0 Healthy db15\MAIL15 Mounted 0 0 Healthy
И видим, что база db14, расположенная на сервере mail14(поле Name) имеет битый индекс(Failed в поле ContentIndex State). Собственно это все что нам нужно знать.
Теперь восстанавливаем индекс:
PS C:\Windows\system32> Update-MailboxDatabaseCopy -Identity DB14\mail14 -CatalogOnly
Обращаем внимание на ключ Identity, где указываем «Имя_Базы\Имя_сервера» и ключ -СatalogOnly. Ключ CatalogOnly указывает на обновление ТОЛЬКО индекса базы, при этом данные будут браться из второй копии базы.