Exchange 2010 — перенос базы данных общих папок (Public Folders) на другой сервер

Дано SERVER1  и SERVER2. Требуется: перенести базу общих папок (Public Folders) с сервера SERVER1 на SERVER2, после чего с SERVER1 эта база удаляется навсегда. Сталкиваюсь с эти редко, по этому заметка актуальна. Без определенных действий с вашей стороны просто так в Exchange удалить базу общих папок не получится.

При попытке удаления выводится сообщение об ошибке

--------------------------------------------------------
Ошибка Microsoft Exchange
--------------------------------------------------------
Не удалось удалить базу данных общих папок 'Public Folder Database 0275183447'.
Public Folder Database 0275183447
Ошибка
Ошибка:
База данных общих папок "Public Folder Database 0275183447" содержит реплики папок.
Перед удалением базы данных общих папок удалите папки или переместите реплики в другую базу данных общих папок.
Дополнительные сведения об удалении базы данных общих папок
см. в статье http://go.microsoft.com/fwlink/?linkid=81409&clcid=0x419 (на английском языке).
--------------------------------------------------------
ОК
--------------------------------------------------------

1. Первое что нужно сделать, это назначить права на соответствующие действия. Где назначаются права для работы с общими папками, думаю найдете сами.

Для Exchange 2010 это первое. что нужно сделать 🙂

2. Второе действие — это создать на SERVER2 новую базу общих папок. Сделать можно это через консоль, с этим проблем думаю не возникнет.

3. Третье, что нужно сделать, это проверить, есть ли реплики. Если база содержит в себе данные, удалить ее невозможно.

Проверим, что в данный момент у нас храниться в общих папках:

Get-PublicFolderStatistics -Server SERVER1
Get-PublicFolderStatistics -Server SERVER2

по выводу будет очевидно, что у нас содержится в общих папках.

4. Если у вас общая адресная книга распространяется через общие папки — нужно отключить это или пере нацелить на другую базу общих папок (скрин с одного рабочего сервера на нем были эти манипуляции):

5. Если база общих папок ассоциирована с какой либо базой данных почтовых ящиков — пере нацельте на другую базу данных общих папок (скрин с вполне рабочего сервера):.

6. Теперь переносим реплики. Это делается специальным скриптом.

C:\Program Files\Microsoft\Exchange Server\V14>.\Scripts\MoveAllReplicas.ps1 -Server SRVER1 -NewServer SERVER2

Процедура долгая, так как дефолтно этот процесс выполняется примерно в 4-е утра 🙂  Можно ускорить, если зайти в свойство общих папок и выставить ближайшее удобное время репликации.

7. Проверяем что получилось командами

Get-PublicFolderStatistics -Server SERVER1
Get-PublicFolderStatistics -Server SERVER2

в итоге вывод зеркально должен поменяться, то есть при выводе

Get-PublicFolderStatistics -Server SERVER1

список должен быть пуст.

ПУСТОЙ СПИСОК ПРИ ВЫВОДЕ ЭТОГО КОМАНДЛЕТА — ЭТО ТО ЧТО МЫ ДОБИВАЛИСЬ

если он стал пустой, то можно перейти к следующему шагу.

8. Удаляем базу общих папок с сервера SERVER1, теперь все получится.

 

PS: в процессе всего этого шаманства были некоторые проблемы. Проблемы заключались в том, что часть командлетов нормально запускалась на одном сервер и наотрез отказывалась запускаться на другом сервере. Как побороть это — я так и не понял. Если будут проблемы — просто попробуйте запустить команды на другом сервере. Вообще так же следует помнить что при назначении прав требуется перелогинится чтобы изменения вступили в силу.

 

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

  1. А как быть в ситуации, когда при запросе Get-PublicFolderStatistics -Server SERVER2 я вижу следующее:
    [PS] C:\Program Files\Microsoft\Exchange Server\Scripts>Get-PublicFolderStatisti
    cs -server EXCHANGESRV
    Не удается выполнить операцию, так как на сервере «EXCHANGESRV» нет доступной б
    азы данных общих папок.
    At line:1 char:1
    + G <<<< et-PublicFolderStatistics -server EXCHANGESRV

    • он же пишет вам «нет доступной базы…»
      либо имя базы неверно, либо база недоступна.
      недоступная база может быть из за того что отмонтирована или остановлена служба.

  2. Я так понимаю что команда «C:\Program Files\Microsoft\Exchange Server\V14>.\Scripts\MoveAllReplicas.ps1 -Server SRVER1 -NewServer SERVER2» запускается в 4 утра. Но ручное её выполнение форсирует процесс, так ли это ?
    Если да тогда зачем трогать расписание репликации ?

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *