Миграция почтового ящика побитого Яблоком


При миграции почтовых ящиков в новый лес наткнулся на такую ситуацию:

Get-MailboxFolderStatistics -Identity iqv -FolderScope RecoverableItems | Format-Table Name,FolderAndSubfolderSize,ItemsInFolderAndSubfolders -Auto

Name FolderAndSubfolderSize ItemsInFolderAndSubfolders

—- ———————- —————————

Recoverable Items 10.23 GB (10,981,634,268 bytes) 2549585

Deletions 4.273 GB (4,587,644,217 bytes) 518278

Purges 0 B (0 bytes) 0

Versions 0 B (0 bytes) 0

Да, число элементов в папке Recoverable Items более полутора миллионов!

В папке Deletions тоже немало – около полумиллиона.

Во время перемещения этого почтового ящика процент добежал до 50% и встал: копирование двух миллионов элементов обещало занять более суток.

Миграцию почтового ящика пришлось остановить и начать чистку от мусора.

Очистка папки Deletions успешно была выполнена командлетом:

Search-Mailbox -Identity iqv -SearchDumpsterOnly -DeleteContent

Но тем не менее в папке Recoverable Items все еще оставалось огромное количество элементов, которые никак не хотели удаляться. После выполнения:

$a=New-MailboxRepairRequest -Mailbox iqv –CorruptionType SearchFolder,AggregateCounts,ProvisionedFolder,FolderView

число элементов в папке Recoverable Items уменьшилось до 1.7 миллиона. Очень неплохо! Но что делать с остальным мусором? Пришлось пускать в ход тяжёлую артиллерию – утилиту MFCMAPI.

Когда я нашел и открыл папку Recoverable Items в проблемном почтовом ящике, то очень скоро убедился, что не все так просто: элементы подгружались в окно непрерывно, и это обещало занять не менее часа времени. Подсказка внизу окна предлагала нажать Esc для остановки загрузки элементов. Но MFCMAPI не реагировала на эту клавишу, упорно продолжая загрузку элементов. Что поделаешь, если программисты так реализовали цикл загрузки: вряд ли они тестировали эту функцию более чем на нескольких сотнях элементах. Когда счетчик загрузки добежал до 800 тысяч элементов, MFCMAPI выдала ошибку «Мало памяти», закрыла окно загрузки и перестала реагировать адекватно на команды. Пришлось ее перезапустить, и искать выход из ситуации. Решение оказалось простым: раз программа отображает каждый элемент в окне, то логично сделать окно загрузки элементов как можно меньше. Когда я уменьшил окно загрузки элементов до минимально размера, то MFCMAPI стала не только быстрее загружать элементы, но и реагировать на клавишу Esc, останавливая загрузку и давая тем самым выбрать все загруженные элементы и удалить их навсегда.

Конечно такой способ не годится для спасения множества почтовых ящиков. В такой ситуации проще будет выгрузить информацию во временный архив, удалить почтовый ящик, создать новый и загрузить в него информацию из временного архива.

Остается отметить, что проблемный почтовый ящик был забит мусором от клиента iPad: помните проблему с его почтовым клиентом?

Полезные ссылки:

Dealing with the ActiveSync bug on iDevices with Exchange 2010

Clean Up the Recoverable Items Folder

MFCMAPI home site

комментариев 5

  1. А через EWS MAPI пробовал? Там процедура удаления должна быть попроще.

    • А готовенькое есть? :-)
      1. MFCMAPI это просто.
      2. EWS это непросто.
      3. И боюсь, что «битые» записи EWS может не обработать

      • Готовенького нет. Но на днях набросаю что-нибудь и отпишу.
        EWS это тоже просто :) Просто надо уметь его готовить :)
        Насчёт битых записей — вопрос открыт.

  2. […] Сазонов недавно жаловался на проблему массового удаления большого количества […]

Оставьте комментарий