Как восстановить базу данных Windows Exchange Server

В этой статье, я покажу как создать резервную копию с помощью средства резервного копирования Windows Server Backup и развернуть ее обратно на сервере Exchange. А также рассмотрим, как создать базу восстановления из резервной копии и перенести почту на новый сервер, как восстановить поврежденные или удаленные файлы базы почтовых ящиков.

Как восстановить базу данных Windows Exchange Server

Локальный Exchange Server — это эффективный сервер электронной почты со всеми функциями безопасности, предоставляемыми корпорацией Майкрософт. Но из-за неправильного управления, физических или логических ошибок база данных может быть повреждена. Это не страшно, если у вас есть резервная копия сервера, поврежденную базу данных Exchange легко и быстро можно восстановить. Хотя администратор может свести к минимуму повреждение базы, его нельзя свести к нулю. Поэтому всегда нужно хранить резервную копию чтобы в случае аварии не потерять важные данные.

Перейти к просмотру
Как установить и настроить Exchange Server 2019. Active Directory Domain Services

Как установить и настроить Exchange Server 2019. Active Directory Domain Services

Резервное копирование с помощью Windows Server Backup

Для резервного копирования Exchange Server 2019 есть множество специализированных программ, однако Windows Server обладает встроенным функционалом для данного решения – это компонент Windows Server Backup.

Резервное копирование Windows Server предоставляет администраторам возможность резервного копирования всего сервера, выбранных томов или конкретных папок.

Windows Server Backup — это встроенный модуль резервного копирования операционной системы Windows Server.

Перейти к просмотру
Как добавить SPF, DKIM, DMARC и настроить POP3 и IMAP4 на Exchange Server 2019

Как добавить SPF, DKIM, DMARC и настроить POP3 и IMAP4 на Exchange Server 2019

Как добавить роль Windows Server Backup на сервер

Так как по умолчанию функция резервного копирования не установлена, для начала ее нужно установить. Для этого откройте – Server manager, кликните по кнопке меню – ManageAdd Roles and Features.

Manage – Add Roles and Features

В открывшемся окне перейдите к разделу – Features и установите отметку напротив – Windows Server Backup, затем Next и Install.

Windows Server Backup

Как создать резервную копию с Windows Server Backup

После установки утилиты, откройте – Tools и запустите – Windows Server backup.

Запустите Windows Server backup

В Microsoft заявляют, что с помощью системы архивации данных вы сможете создавать копии баз данных Exchange и восстанавливать их. Перед тем как создать резервную копию рекомендуется размонтировать базу данных. Для этого откройте Exchange Admin Panel, перейдите в раздел Servers и откройте вкладку Databases, отметьте базу, кликните по трем точкам и нажмите – Dismount.

Servers - Databases – Dismount

В открывшемся окне Windows Server Backup, выберите – Local Backup и справа в области действия выберите – Backup Once. В настройках параметров архивации отметьте – Different options и нажмите – Next.

Local Backup – Backup Once

В конфигурации архивации выберите – Custom (настраиваемая) и нажмите – Next. На странице выбора объектов нажмите – Add items, отметьте диск, на котором находится база вашего Exchange и Ок. Затем кликните по кнопке – Advance Settings.

Add items – Advance Settings

Здесь вы сможете добавить исключения из диска которые не будут скопированы. Затем перейдите во вкладку – VSS Settings и установите отметку напротив – VSS full backup, Ok и Next.

VSS Settings – VSS full backup

На следующем шаге укажите место куда сохранить резервную копию – локальный диск или удаленная рабочая папка. Затем проверьте параметры и нажмите – Backup для начала процесса архивации. Теперь у вас есть резервная копия базы почтовых ящиков Exchange.

Backup

После, зайдем в почтовый ящик и проверим почту, удаляем все письма, также можно удалить их из корзины. И проверим удастся ли их восстановить с резервной копии.

Как восстановить базу Exchange Server с резервной копии Server Backup

Теперь давайте восстановим базу из последней резервной копии Windows Server Backup. Для этого откройте – Server Manager, Tools, Windows Server backup. В окне программы отметьте – Local Backup, затем в окне действий – Recover.

Local Backup – Recover

Укажите, где хранится ваша резервная копия, на локальном диске или в удаленном каталоге и нажмите – Next, Укажите точное место расположения архива – next. Далее выберите сервер, и дату архива, с которого планируете восстановить его состояние.

Выберите сервер и дату архива

На странице типа восстановления отметьте пункт – Applications и нажмите – Next. В следующем окне убедитесь, что выбрано приложение – Exchange и нажмите – Next.

Applications – Exchange

Далее выберите – Recover to original location если нужно восстановить данные Exchange в первоначальном расположении, или пункт – Recover to another location – если нужно восстановить отдельные базы. И для запуска процесса восстановления, кликните по кнопке – Recovery. По завершении операции, нажмите кнопку – Close.

Recover to original location

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

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

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

Как восстановить почтовый ящик из Recovery базы

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

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

Итак, у нас есть бэкап созданный с помощью Windows Server Backup, я покажу как с его помощью восстановить базу данных и папку с логами на другой диск и затем импортировать на сервер с чисто установленным Exchange Server.

Для начала нужно восстановить базу Exchange из резервной копии. Это может быть копия Windows Server Backup или другой программы. Нам нужно достать с бэкапа папку с базой данных и транзакционными логами. Этот процесс мы рассмотрим на примере резервной копии с Windows Server Backup. Откройте Server Manager, справа вверху, кликните по кнопке – Tools, в самом низу выпадающего списка запустите – Windows Server Backup.

В открывшемся окне утилиты выберите – Local Bacup и нажмите – Recover. Укажите расположение резервной копии, этот компьютер или другое и нажмите – Next. Выберите диск или сетевую папку, укажите том, отметьте ваш сервер и нажмите – Next. Далее выберите дату последней резервной копии – Next. На следующем шаге отметьте пункт – Application и нажмите – Next. Затем отметьте – Exchange, Next, и укажите куда восстановить данные Exchange Server. Для этого нажмите – Browse, выберите диск и папку, а затем – Next и Recover. Теперь ждем окончания процесса и закрываем окно утилиты – Close.

Recover Exchange Server

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

Переносим каталог с базой в корень диска

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

Для этого воспользуемся Exchange Management Shell (EMS) и командлетом – New-MailboxDatabase,

Переходим в папку с базой:

Cd C:\test

И вводим команду:

New-MailboxDatabase -Recovery -Name DBR -Server expc -EdbFilePath "C:\test\Mailbox Database 1540046320.edb" -LogFolderPath C:\test

Exchange Management Shell (EMS) - New-MailboxDatabase

Где DBR – имя новой базы восстановления, “Mailbox Database 1540046320.edb” – имя файла базы, и в конце указан путь к папке с транзакционными лог файлами.

New-MailboxDatabase -Recovery -Name (имя новой базы) -Server (имя сервера) -EdbFilepath “путь к файлу базы” -LogfolderPath “путь к папке с транзакционными логами”

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

Для этого откройте окно служб, найдите в списке – Microsoft Exchange Information Store, выделите ее и нажмите – Restart.

Restart Microsoft Exchange Information Store

Теперь проверим статус базы, которую мы восстановили, для этого выполните команду утилиты eseutil c ключом – MH:

Eseutil /MH "Mailbox Database 1540046320.edb"

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

Dirty Shutdown

Если в результате вы получите статус базы - “Dirty Shutdown” ее придется сначала восстановить, следующей командой.

В утилите eseutil с ключом – R.

Eseutil /R "E00"

Восстанавливаем базу с помощью eseutil

Здесь нужно указать префикс транзакционных логов, у меня это – E00. Перейдите в папку с логами и посмотрите префикс в названии файлов.

Если первая команда не помогла выполните следующую

esetuil /r E00 /l C:\test /d c:\test

Здесь нужно указать префикс транзакционных логов, затем указать путь к папкам с логами и базой.

Восстанавливаем базу

После успешного восстановления можно приступать к ее монтированию.

Для этого выполните команду:

Mount-Database DBR

Для того чтобы посмотреть содержит ли бэкап какие-то данные можно выполнить команду – Get-mailboxStatistics

Get-MailboxStatistics -Database DBR | Format-Table DisplayName,MailboxGUID -AutoSize

Get-mailboxStatistics

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

Для переноса выполните такую команду:

New-MailboxRestoreRequest -SourceDatabase DBR -SourceStoreMailbox 9dd88bc5-cf83-4f26-81f4-77540e638f73 -TargetMailbox DBRtest

Где нужно указать имя исходной базы (базы восстановления), ID исходного почтового ящика, и в конце команды имя целевого почтового ящика.

Если при выполнении была выведена ошибка:

Source mailbox legacuexchangedn doesn’t match

В конце команды добавьте значение:

New-MailboxRestoreRequest -SourceDatabase DBR -SourceStoreMailbox 9dd88bc5-cf83-4f26-81f4-77540e638f73 -TargetMailbox DBRtest -AllowLegacyDNMismatch

Get-mailboxStatistics

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

Все письма были перенесены в новый ящик

Восстановление базы данных

При повреждении самой базы или отсутствии логов может понадобится ее восстановление, для этого используется команда утилиты – eseutil с ключом – p

eseutil /p "Mailbox Database 1540046320.edb"

eseutil /p

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

Далее проверяем, что база находится в исправном состоянии:

eseutil /mh Mailbox Database 1540046320.edb

Состояние должно изменится на – “Clean Shutdown”

Clean Shutdown

После понадобится дефрагментация базы данных.

eseutil /d "Mailbox Database 1540046320.edb"

При дефрагментации будет создана новая база, в которую будут перемещены все исправные данные.

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

По завершении дефрагментации, оригинальный файл базы будет удален.

Теперь ее осталось смонтировать и запустить команду проверки.

Для монтирования выполните такую команду:

Mount-Database "Mailbox Database 1540046320.edb"

И для запуска проверки следующую команду:

Get-MailboxRepairRequest -Database "Mailbox Database 1540046320.edb"

Процесс восстановления базы данных Exchange Server завершен.

Восстановление базы данных почтовых ящиков с нерабочего сервера Exchange

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

Как восстановить базу данных Windows Exchange Server

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

Hetman Partition Recovery поддерживаем большинство популярных файловых систем, если ваша база хранилась на RAID массиве, воспользуйтесь программой RAID Recovery. Утилита в автоматическом режиме соберет из дисков утерянный RAID, и вы сможете достать из него файлы вашей почтовой базы Exchange.

Инструмент восстанавливает файлы с любых устройств, независимо от причины потери данных.

Рассмотрим восстановление на примере Hetman Partition Recovery и стандартного расположения базы.

Скачайте установите и запустите программу для восстановления. Она автоматически просканирует вашу систему и отобразит подключенные диски.

Hetman Partition Recovery

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

Полный анализ

Если в результате программа не нашла нужных файлов запустите - Полный анализ. Кликните по диску правой кнопкой мыши – проанализировать заново, Полный анализ, укажите файловую систему и нажмите – Далее. Идем в папку, где хранилась почтовая база Exchange Server, отмечаем каталог и жмем – Восстановить. Далее укажите диск и папку куда ее сохранить, и кликните по кнопке – Восстановить. По завершении папка с файлами будет лежать по указанному пути.

Восстановить базу

По умолчанию база хранится по такому пути.

C:\Program Files\Microsoft\Exchange Server\V15\Mailbox

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

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

Прежде чем восстановить базу на новый сервер Exchange нужно его заново установить и настроить, прежде нужно будет установить и настроить Exchange Server с Active Directory.

Dmytriy Zhura

Автор: , Технический писатель

Дмитрий Жура – автор и один из IT-инженеров компании Hetman Software. Имеет почти 10 летний опыт работы в IT-сфере: администрирование и настройка серверов, установка операционных систем и различного программного обеспечения, настройка сети, информационная безопасность, внедрения и консультация по использованию специализированного ПО. Является экспертом в области восстановления данных, файловых систем, устройств хранения данных и RAID массивов.

Andrey Mareev

Редактор: , Технический писатель

В далеком 2005 году, я получил диплом по специальности «Прикладная математика» в Восточноукраинском национальном университете. А уже в 2006 году, я создал свой первый проект по восстановлению данных. С 2012 года, начал работать в компании «Hetman Software», отвечая за раскрутку сайта, продвижение программного обеспечения компании, и как специалист по работе с клиентами.

Рекомендуем для вас

Вас приветствует ассистент Hetman Software, созданный на основе искусственного интеллекта.
Начать Чат