Home WindowsExchange Server Как переименовать и перенести базу данных Exchange Server 2016

Как переименовать и перенести базу данных Exchange Server 2016

by admin
322 views
Exchange

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

Переименовать базу данных Exchange по умолчанию с помощью PowerShell

Чтобы переименовать базу данных почтовых ящиков Exchange с помощью PowerShell для Microsoft Exchange, выполните следующие действия.

Получить имя базы данных почтовых ящиков

[PS] C:\>Get-MailboxDatabase

Name                           Server          Recovery        ReplicationType
----                           ------          --------        ---------------
Mailbox Database 1331813793      mbx1            False           None

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

[PS] C:\>Set-MailboxDatabase "Mailbox Database 1331813793" -Name "DB01"

Проверяем имя базы данных почтовых ящиков

[PS] C:\>Get-MailboxDatabase

Name                           Server          Recovery        ReplicationType
----                           ------          --------        ---------------
DB01                           mbx1       False           None

База данных успешно переименована. 

Перемещаем базу данных Exchange на другой диск

Exchange Server устанавливает базу данных почтовых ящиков по умолчанию на диск C:\. Не храните базу данных почтовых ящиков на диске C:\, а переместите базу данных на другой диск:

  • Автономный сервер Exchange
    Если сервер Exchange является автономным сервером. Настройте два отдельных диска. Один диск для базы данных, а другой диск для журналов базы данных.
  • Группа обеспечения доступности баз данных сервера Exchange
    Если сервер Exchange будет членом группы обеспечения доступности баз данных, настройка двух дисков не требуется. У нас может быть база данных и журналы на одном диске или отдельно.

Получить путь к базе данных почтовых ящиков Exchange

Запустите командную консоль Exchange от имени администратора.

[PS] C:\Windows\system32>Get-MailboxDatabase -Server mbx1 | Format-List Name, EdbFilePath, LogFolderPath


Name          : Mailbox Database 1331813793
EdbFilePath   : C:\Program Files\Microsoft\Exchange Server\V15\Mailbox\Mailbox Database 1331813793\Mailbox Database
                1331813793.edb
LogFolderPath : C:\Program Files\Microsoft\Exchange Server\V15\Mailbox\Mailbox Database 1331813793

Мы уже переименовали имя базы данных почтовых ящиков в DB01. Однако файл .edb (база данных) и папка журнала по-прежнему имеют уникальное сгенерированное имя. Мы настроим имя, когда переместим базу данных и папку журнала на другой диск.

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

Мы разместим файл базы данных и журналы из одной и той же базы данных почтовых ящиков на разных томах. Тома настроены на обоих разных физических дисках. Диск (E:) — это диск базы данных, а диск (F:) — диск журналов.

Запустите командлет Move-DatabasePath . Параметр EdbFilePath указывает новый путь к файлу базы данных. Все текущие файлы базы данных перемещаются в это место. Параметр LogFolderPath указывает папку, в которой хранятся файлы журналов.

После запуска команды подтвердите оба раза нажатием Y и нажмите Enter .

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

[PS] C:\>Move-DatabasePath "DB01" -EdbFilePath "E:\DB01\DB01.edb" -LogFolderPath "F:\DB01"

Confirm
Are you sure you want to perform this action?
Moving database path "DB01".
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [?] Help (default is "Y"): Y

Confirm
To perform the move operation, database "DB01" must be temporarily dismounted, which will make it inaccessible to all users. Do you want to continue?
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [?] Help (default is "Y"): Y
Аналогично для одного диска
[PS] C:\>Move-DatabasePath -Identity DB01 -EdbFilePath e:\DB01\db01.edb -LogFolderPath e:\DB01

Проверим, созданы ли папки, и переместились ли файлы на каждый диск.

Результаты после переноса базы данных Exchange на другой диск

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

Журналы базы данных перемещаются на новый том диска.

Чтобы очистить старую папку базы данных, просмотрите старый путь к базе данных. Затем щелкните папку правой кнопкой мыши и выберите «Удалить».

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

[PS] C:\>Get-Service -Name "HostControllerService","MSExchangeFastSearch" | Restart-Service
WARNING: Waiting for service 'Microsoft Exchange Search Host Controller (HostControllerService)' to stop...
WARNING: Waiting for service 'Microsoft Exchange Search Host Controller (HostControllerService)' to stop...
WARNING: Waiting for service 'Microsoft Exchange Search (MSExchangeFastSearch)' to stop...

Проверьте результаты с помощью PowerShell.

[PS] C:\>Get-MailboxDatabase | Format-List Name, EdbFilePath, LogFolderPath

Name          : DB01
EdbFilePath   : E:\DB01\DB01.edb
LogFolderPath : F:\DB01

Как перенести базу Exchange на соседний сервер Exchange.

В MS Exchange не предусмотрен механизм переноса всей базы данных с одного сервера на другой.
Цель: перенести все почтовые ящики с одного сервера на другой в пределах одного домена
Предварительная подготовка: создать пустую базу данных на новом сервере.
Далее выполняем следующий скрипт:

Шаг 1 — переносим пользовательские ящики:
Переместить почтовый ящик в другую базу Exchange Server 2016 через ecp и powershell

Get-mailboxdatabase - identity "oldbase" | Get-mailbox | New-MoveRequest -TargetDatabase "New_base " -BadItemLimit 5 -BatchName Migration 

Шаг 2 (переносим системные ящики из ненужной базы):

Переместить все почтовые ящики из одной базы данных в другую Exchange 2016

Get-Mailbox -Database <имя_старой_базы> -Arbitration | New-MoveRequest -TargetDatabase <имя_новой_базы>

Статьи из этой категории

Leave a Comment