Дано SERVER1 и SERVER2. Требуется: перенести базу общих папок (Public Folders) с сервера SERVER1 на SERVER2, после чего с SERVER1 эта база удаляется навсегда. Сталкиваюсь с эти редко, по этому заметка актуальна. Без определенных действий с вашей стороны просто так в Exchange удалить базу общих папок не получится.
При попытке удаления выводится сообщение об ошибке
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
-------------------------------------------------------- Ошибка 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. Третье, что нужно сделать, это проверить, есть ли реплики. Если база содержит в себе данные, удалить ее невозможно.
Проверим, что в данный момент у нас храниться в общих папках:
1 |
Get-PublicFolderStatistics -Server SERVER1 |
1 |
Get-PublicFolderStatistics -Server SERVER2 |
по выводу будет очевидно, что у нас содержится в общих папках.
4. Если у вас общая адресная книга распространяется через общие папки – нужно отключить это или пере нацелить на другую базу общих папок (скрин с одного рабочего сервера на нем были эти манипуляции):
5. Если база общих папок ассоциирована с какой либо базой данных почтовых ящиков – пере нацельте на другую базу данных общих папок (скрин с вполне рабочего сервера):.
6. Теперь переносим реплики. Это делается специальным скриптом.
1 |
C:\Program Files\Microsoft\Exchange Server\V14>.\Scripts\MoveAllReplicas.ps1 -Server SRVER1 -NewServer SERVER2 |
Процедура долгая, так как дефолтно этот процесс выполняется примерно в 4-е утра 🙂 Можно ускорить, если зайти в свойство общих папок и выставить ближайшее удобное время репликации.
7. Проверяем что получилось командами
1 |
Get-PublicFolderStatistics -Server SERVER1 |
1 |
Get-PublicFolderStatistics -Server SERVER2 |
в итоге вывод зеркально должен поменяться, то есть при выводе
1 |
Get-PublicFolderStatistics -Server SERVER1 |
список должен быть пуст.
ПУСТОЙ СПИСОК ПРИ ВЫВОДЕ ЭТОГО КОМАНДЛЕТА – ЭТО ТО ЧТО МЫ ДОБИВАЛИСЬ
если он стал пустой, то можно перейти к следующему шагу.
8. Удаляем базу общих папок с сервера SERVER1, теперь все получится.
PS: в процессе всего этого шаманства были некоторые проблемы. Проблемы заключались в том, что часть командлетов нормально запускалась на одном сервер и наотрез отказывалась запускаться на другом сервере. Как побороть это – я так и не понял. Если будут проблемы – просто попробуйте запустить команды на другом сервере. Вообще так же следует помнить что при назначении прав требуется перелогинится чтобы изменения вступили в силу.
А как быть в ситуации, когда при запросе 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
он же пишет вам “нет доступной базы…”
либо имя базы неверно, либо база недоступна.
недоступная база может быть из за того что отмонтирована или остановлена служба.
Я так понимаю что команда “C:\Program Files\Microsoft\Exchange Server\V14>.\Scripts\MoveAllReplicas.ps1 -Server SRVER1 -NewServer SERVER2” запускается в 4 утра. Но ручное её выполнение форсирует процесс, так ли это ?
Если да тогда зачем трогать расписание репликации ?
форсируем.