Работа с базой данных Exchange

Обновлено и опубликовано Опубликовано:

Тематические термины: ExchangePowershell.

Данная статья представляет из себя шпаргалку по работе с почтовой базой Exchange на примере версии 2010.

Работа с почтовой базой несет в себе потенциальную опасность потери всей информации. Прежде, чем начать работу, стоит убедиться в наличии актуальной резервной копии.

Просмотр содержимого базы

а) Список элементов базы можно увидеть командой в Powershell:

Get-MailboxStatistics -Database "Base1"

* где Base1 — имя базы данных, содержимое которой необходимо посмотреть.

Важно отметить, что это могут быть уже перенесенные элементы.

б) Список действующих ящиков, находящихся в базе:

Get-Mailbox | Where {$_.Database -eq "Base1"}

в) Размер почтовых ящиков в базе

Get-Mailbox -Database Base1 | Get-MailboxStatistics | sort TotalItemSize -descending | ft DisplayName, TotalItemSize, ItemCount

г) список всех элементов в базе и занимаемый ими размер

Get-MailboxStatistics -Database Archive | Sort TotalItemSize -descending | ft DisplayName, TotalItemSize 

Дефрагментация

Необходима для освобождения пространства, занимаемого файлом базы. Это связано с тем, что при удалении элементов, сама база не уменьшается.

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

Get-MailboxDatabase -Status | ft Name, DatabaseSize, AvailableNewMailboxSpace

Пример ответа:

Name        DatabaseSize    AvailableNewMailboxSpace
----        ------------    ------------------------
Base1       686.4 GB        286.4 MB
Base2       170 GB          69.42 GB

* где DatabaseSize — текущий размер базы; AvailableNewMailboxSpace — пространство, которое можно освободить при дефрагментации.

Саму оптимизацию можно выполнить двумя способами:

  1. Офлайн дефрагментация.
  2. Создание новой базы с последующим переносом в нее всех элементов; после, базу можно отключить и перенести или удалить. Это более надежный вариант, так как не приведет к большому простою и позволит выполнить работу постепенно.

В текущем подразделе мы рассмотрим первый способ.

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

Если используется база на основе группы DAG, сначала необходимо удалить неактивную копию.

Операция дефрагментации выполняется из Exchange Management Shell с применением утилиты eseutil.

Сначала переходим в каталог хранения базы данных, например:

cd C:\Program Files\Microsoft\Exchange Server\V14\Mailbox\Base1

Выполняем команду для отмонтирования базы:

Dismount-Database Base1

* напомним, что это приведет к отключению базы и приостановки обслуживания.

Запускаем дефрагментацию:

eseutil /d Base1.edb /t \\share\base1_tmp.edb

* где опция d — имя файла базы; t — путь до временного файла на момент дефрагментации, если его не указать, временный файл будет создан в каталоге с основным файлом и, в таком случае, нужно убедиться, что на диске достаточно свободного места (110% от размер дефрагментируемого файла).

После завершения операции, снова подключаем базу:

Mount-Database Base1

Перемещение файла базы в другую папку

Если используется база на основе группы DAG, сначала необходимо удалить неактивную копию.

Вытаскиваем GUID для нужной базы:

Get-MailboxDatabase Base1 | fl Name, Guid

Используя GUID, перемещаем базу:

Move-DatabasePath -Identity 55e0595f-9b48-4285-b12a-faeb8efa7278 -EdbFilePath D:\Database\NewPath

* где 55e0595f-9b48-4285-b12a-faeb8efa7278 — идентификатор перемещаемой базы; D:\Database\NewPath — каталог, куда будет перемещена база (если не создан, система создаст автоматически).

На вопросы консоли отвечаем утвердительно — Y.

Удаление копии базы в DAG-группе

Данное действие не приведет к удалению самих файлов, имеющих отношение к базе. Если необходимо полностью очистить сервер от данных, после удаления копии базы, вручную удаляем ее файлы.

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

Графический интерфейс

Конфигурация организации - Почтовый ящик - вкладка Управление базой данных - выбрать базу и в нижней части окна удалить не подключенную копию:

Удаление копии базы из группы DAG

и подтверждаем желаемое действие.

Powershell

Remove-MailboxDatabaseCopy -Identity Base1\Server1 -Confirm:$False

* где Base1 — имя базы; Server1 — имя сервера, на котором находится удаляемая копия.

Отключение или включение ведения циклического журнала

Графический интерфейс

Конфигурация организации - Почтовый ящик - вкладка Управление базой данных - кликаем правой кнопкой по нужной базе - Свойства:

Свойства базы данных

На вкладке Обслуживание снимаем галочку Включить циклическое ведение журнала (или ставим, если нужно его включить):

Отключение ведения циклического журнала

Powershell

Отключить:

Set-MailboxDatabase -CircularLoggingEnabled $false -Identity 'Base1'

Включить:

Set-MailboxDatabase -CircularLoggingEnabled $true -Identity 'Base1'

# Серверы # Почта # Базы данных # Powershell # Exchange
Дмитрий Моск — частный мастер
Была ли полезна вам эта инструкция?

Да            Нет