Metody odzyskiwania danych z programu Microsoft Exchange
Microsoft Exchange Server to popularny i niezawodny serwer e-mailu, charakteryzujący się doskonałą kompatybilnością z klientem Outlook, szeroko stosowany w organizacjach. Czasami może dojść do utraty danych e-mailu lub uszkodzenia bazy danych Exchange. Na szczęście w wielu przypadkach możliwe jest odzyskanie danych e-mailu z serwera Microsoft Exchange Server przy użyciu narzędzi natywnych oraz narzędzi innych producentów.
W tym wpisie na blogu omówiono proces odzyskiwania danych z serwera Exchange, w tym odzyskiwanie bazy danych Exchange oraz odzyskiwanie skrzynek pocztowych Exchange.
Podstawy odzyskiwania danych z serwera Exchange
Serwer Microsoft Exchange Server przechowuje wszystkie dane e-maila w bazach danych. Bazy danych są przechowywane w plikach .edb . Kolejnym ważnym elementem bazy danych Exchange są pliki dziennika transakcji. Dzienniki transakcji służą do odzyskiwania danych z serwera Exchange w przypadku, gdy baza danych nie została prawidłowo zamknięta, a niektóre transakcje nie zostały zatwierdzone (na przykład w wyniku nagłego wyłączenia serwera spowodowanego zanikiem zasilania). Można użyć tych dzienników do ponownego wykonania niezatwierdzonych transakcji w bazie danych.
Domyślna ścieżka do bazy danych Exchange dla serwerów Microsoft Exchange Server 2013, 2016 i 2019 to:
C:Program FilesMicrosoftExchange ServerV15MailboxExchange_Database_Name.edb
Zaleca się przechowywanie bazy danych serwera Exchange i jej plików dziennika na oddzielnych woluminach. W naszym przykładzie stosujemy właśnie to podejście. Na serwerze może istnieć wiele baz danych używanych przez jedną instancję programu Exchange.
Informacje o programie Exchange Server można uzyskać w programie Exchange Management Shell (znanym również jako Exchange Server PowerShell), który jest interfejsem wiersza poleceń opartym na środowisku PowerShell. Aby otworzyć Exchange Management Shell, uruchom następujące polecenie w konsoli PowerShell:
LaunchEMS
W graficznym interfejsie systemu Windows przejdź do:
Start > Microsoft Exchange Server 2016 > Exchange Management Shell
Następnie możesz użyć tego polecenia, aby uzyskać informacje o serwerze Exchange:
Get-ExchangeServer
Bardziej szczegółowe polecenie pozwalające znaleźć wszystkie bazy danych Exchange i wyświetlić ich nazwy, lokalizację oraz ścieżkę do plików dziennika:
Get-MailboxDatabase | Select Name,EdbFilePath,LogFolderPath
Istnieją dwa główne podejścia do odzyskiwania danych z serwera Exchange:
- Odzyskiwanie z wykonanej kopii zapasowej
- Odzyskiwanie lub naprawa bazy danych Exchange bez wykonanej kopii zapasowej
Przyjrzyjmy się każdemu z tych dwóch podejść.
Odzyskiwanie danych z serwera Exchange za pomocą narzędzia Kopia zapasowa systemu Windows Server
Kopia zapasowa systemu Windows Server to natywna funkcja ochrony danych systemu Windows, której można używać do wykonywania kopii zapasowych danych, takich jak woluminy, pliki i foldery na komputerze z systemem Windows Server. Jeśli na tym komputerze z systemem Windows Server zainstalowany jest serwer Microsoft Exchange, wtyczka Exchange dla narzędzia Kopia zapasowa systemu Windows Server pozwala na utworzenie spójnej z aplikacją (z uwzględnieniem serwera Exchange) kopii zapasowej przy użyciu Technologia VSS.
Domyślnie funkcja Kopia zapasowa systemu Windows Server jest wyłączona. Aby wykonać kopię zapasową i przeprowadzić Odzyskiwanie danych serwera Exchange, należy włączyć tę funkcję.
Uwaga: Przed przystąpieniem do Odzyskiwania danych serwera Exchange należy posiadać Wykonać kopię zapasową serwera Exchange . Należy włączyć natywną funkcję Kopia zapasowa systemu Windows Server, gdy serwer Exchange działa poprawnie, zanim dojdzie do utraty danych. Jeśli nie masz kopii zapasowej, włączenie funkcji Windows Server Backup dla Exchange nie pomoże po awarii serwera Exchange.
Włączanie funkcji Windows Server Backup
Aby korzystać z tego natywnego narzędzia do tworzenia kopii zapasowych, musisz włączyć funkcję Windows Server Backup.
- Uruchom polecenie w PowerShell, aby włączyć funkcję Windows Server Backup:
Install-WindowsFeature Windows-Server-BackupJeśli wolisz korzystać z graficznego interfejsu użytkownika (GUI) w systemie Windows Server, wykonaj następujące czynności:
Otwórz stronę
Server Manager. KliknijManage > Add Roles and Featuresi postępuj zgodnie z instrukcjami kreatora. W kroku kreatoraFeatureswybierz opcjęWindows Server Backup.
- Po włączeniu funkcji
Windows Server Backupuruchom to narzędzie z poziomu Menedżera serwera:Server Manager > Tools > Windows Server BackupTeraz możesz wykonać kopię zapasową serwera Exchange i innych składników systemu Windows Server.
Tworzenie kopii zapasowej serwera Exchange za pomocą narzędzia Kopia zapasowa systemu Windows Server
Kliknij prawym przyciskiem myszy pozycję Local backup w lewym panelu głównego okna Windows Server Backup i wybierz opcję Backup Schedule z menu kontekstowego.
Otworzy się okno Backup Schedule Wizard .
Getting Started. Zapoznaj się z informacjami i kliknij przyciskNext.Select Backup Configuration. Wybierz opcjęCustom. Na każdym etapie kreatora kliknijNext, aby kontynuować.
Select Items for Backup. Wybierz wolumin (partycję) zawierający bazę danych serwera Exchange oraz partycję zawierającą pliki dziennika bazy danych Exchange. Ważne jest, aby wybrać wolumin (woluminy), a nie pliki lub foldery. W przeciwnym razie mogą wystąpić problemy podczas procesu Odzyskiwania danych Exchange. W naszym przykładzie.edbpliki są przechowywane naE:, a pliki dziennika bazy danych Exchange znajdują się naF:.Uwaga: Podczas ręcznego wykonywania kopii zapasowej bazy danych serwera Exchange jako konkretnych plików należy najpierw odmontować bazę danych.
Kliknij
Advanced Settings. W oknieAdvanced Settingswybierz opcjęVSS full backupw zakładceVSS Settings, jeśli chcesz skrócić dzienniki bazy danych Exchange po wykonaniu kopii zapasowej. Jeśli chcesz zachować logi lub korzystasz również z innej aplikacji do wykonywania kopii zapasowych serwera Exchange, wybierz opcjęVSS copy Backup.
Specify Backup Time. Możesz ustawić częstotliwość wykonywania kopii zapasowej. Może to być raz dziennie lub częściej.
Select Destination Disk. Wybierz dysk, na którym chcesz zapisać kopię zapasową serwera Exchange. W naszym przypadku używamy dyskuG:
Pojawi się komunikat ostrzegający, że wszystkie istniejące dane na wybranym dysku zostaną usunięte. KliknijYes, aby kontynuować.
Uwaga: Narzędzie „Kopia zapasowa systemu Windows Server” zapisuje kopie zapasowe woluminów w formacie Dysk wirtualny VHDX na wybranym dysku/woluminie. Jeśli rozmiar woluminu dyskowego, którego wykonasz kopię zapasową, nie przekracza maksymalnych limitów formatu VHDX, nie ma powodu do obaw.
Confirmation. Sprawdź wybrane ustawienia i kliknijFinish.
Możesz sprawdzić stan kopii zapasowej bazy danych serwera Exchange za pomocą polecenia:
<p class=”1″>Get-MailboxDatabase -Status | Select Name,*backup*
Odzyskiwanie danych serwera Exchange z kopii zapasowej systemu Windows Server Backup
Po wykonaniu kopii zapasowej możesz przystąpić do odzyskiwania danych serwera Exchange.
Otwórz okno Windows Server Backup . Kliknij prawym przyciskiem myszy Local Backup i w menu kontekstowym kliknij Recover.
Otworzy się okno Recovery Wizard .
Getting Started. Wybierz lokalizację kopii zapasowej. Przechowujemy naszą kopię zapasową na tym serwerze i wybieramy pierwszą opcję. KliknijNext, aby kontynuować.
Select Backup Date. Wybierz potrzebną datę kopii zapasowej (czyli punkt odzyskiwania), na przykład najnowszą dostępną kopię zapasową.
Select Recovery Type. WybierzApplications. Opcja Aplikacje może być nieaktywna (wyszarzona), jeśli w ustawieniach kopii zapasowej programu Windows Server Backup wybrano pliki lub foldery zamiast wykonywania kopii zapasowej woluminów.Uwaga: Można wybrać
Files and foldersi odzyskać.edbpliki baz danych i dzienniki programu Exchange do niestandardowej lokalizacji. Następnie pliki te można wykorzystać w bazie danych odzyskiwania programu Exchange w celu Odzyskiwania danych programu Exchange.
-
Specify Recovery Options. Dostępne są dwie opcje lokalizacji docelowej odzyskiwania:Recover to original location. Pliki programu Exchange są odzyskiwane do pierwotnej lokalizacji, w której znajdowały się oryginalne pliki programu Exchange. Nie można wybrać konkretnej bazy danych do przywrócenia. Przywrócone zostaną wszystkie pliki Exchange.Recover to another location. Można wybrać inną lokalizację, aby przywrócić dane Exchange z kopii zapasowej systemu Windows Server do bazy danych odzyskiwania (RDB). Następnie można użyć tej bazy danych odzyskiwania Exchange do przywrócenia rzeczywistej bazy danych Exchange. Baza danych Exchange przywrócona do innej lokalizacji ma stan „brudnego zamknięcia”.
Wybieramy Recover to the original location.
Confirmation. Sprawdź, czy wybrane wcześniej ustawienia są poprawne.- Postęp odzyskiwania . Poczekaj, aż odzyskiwanie danych z Exchange zostanie zakończone. Po zakończeniu odzyskiwania danych z Exchange po wykonaniu kopii zapasowej (w tym przykładzie do pierwotnej lokalizacji) zamontuj bazę danych i sprawdź, czy została ona pomyślnie przywrócona. Bazę danych można zamontować w Centrum administracyjnym Exchange, jak pokazano na poniższym zrzucie ekranu.

Bazę danych Exchange można zamontować w wierszu poleceń:Mount-Database DB01, gdzieDB01to nazwa bazy danych.Sprawdź stan bazy danych w powłoce zarządzania Exchange:
Get-MailboxDatabase -Server -Status | fl Name,*FullBackup
Po zamontowaniu bazy danych może pojawić się komunikat o błędzie informujący, że nie można zamontować bazy danych. Możliwymi przyczynami błędu mogą być fizyczne uszkodzenie dysku, na którym przechowywany jest plik bazy danych, lub uszkodzenie logiczne spowodowane błędami oprogramowania, nieprawidłowym wyłączeniem serwera itp. Narzędzie wiersza poleceń eseutil może pomóc w rozwiązaniu tego problemu.
Odzyskiwanie bazy danych Exchange w wierszu poleceń
Skopiuj pliki bazy danych Exchange (.edb) oraz pliki dziennika do niestandardowego folderu na dysku (na przykład D:DBrecoveryDB01 ) w celu Odzyskiwania danych Exchange. Można skopiować i wykorzystać pliki odzyskane w poprzednim kroku z programu Kopia zapasowa systemu Windows Server. Powszechną metodą jest przywrócenie folderów bazy danych i dzienników bazy danych z programu Kopia zapasowa systemu Windows Server do niestandardowej lokalizacji (na przykład D:DBrecoveryDB01 ).
Jeśli wybrano opcję Files and folders (podczas odzyskiwania danych z programu Kopia zapasowa systemu Windows Server) i odzyskano pliki .edb oraz pliki dziennika Exchange do niestandardowej lokalizacji, można wykorzystać te pliki do odzyskiwania danych oraz jako bazę danych odzyskiwania Exchange. Baza danych odzyskiwania to specjalny rodzaj bazy danych Exchange, którą można zamontować i przywrócić dane do oryginalnej bazy danych Exchange podczas procesu odzyskiwania danych Exchange. Należy nadać bazie danych odzyskiwania unikalną nazwę.
Musimy użyć eseutil do odzyskiwania bazy danych Exchange i naprawy problemów z bazą danych.
eseutil.exe domyślnie znajduje się w tym folderze:
C:Program FilesExchange Serverbin
Konieczne może być zmianie katalogu na ten w wierszu poleceń lub konsoli PowerShell (jeśli ta ścieżka nie została dodana do zmiennej PATH w systemie Windows).
Składnia eseutil umożliwiająca zastosowanie metody miękkiej do odzyskiwania bazy danych poprzez określenie lokalizacji pliku bazy danych oraz folderu dziennika transakcji:
eseutil /R EXX /l <RDBLogFilePath> /d <RDBEdbFolder>
, gdzie EXX jest prefiksem generowania dziennika, np. E00, E01, E02, itp.
Przed przystąpieniem do odzyskiwania bazy danych Exchange należy przeprowadzić jej diagnostykę.
- Sprawdź, w jakim stanie znajduje się baza danych:
eseutil.exe /MH D:DBRecoveryDB01DB01.edb
Stan: Dirty Shutdown
Oznacza to, że baza danych nie jest w stanie spójnym i musimy rozwiązać ten problem, zanim będziemy mogli korzystać z tej bazy danych na serwerze Exchange.
Poniżej, w wynikach, można również znaleźć informacje o tym, które dzienniki są wymagane do przywrócenia stanu bazy danych Exchange do Clean Shutdown. Informacje te są przechowywane w nagłówkach bazy danych pod adresem .edb .
- Sprawdź, czy dzienniki nie są uszkodzone:
eseutil.exe /ml E00
Status OK musi być wyświetlany, jeśli dzienniki nie są uszkodzone.
- Nasze dzienniki są w dobrym stanie i możemy przeprowadzić odzyskiwanie bazy danych Exchange metodą miękkiego odzyskiwania.
eseutil /r E00 /l D:DBrecoveryDB01 /d D:DBrecoveryDB01
/l – ustaw lokalizację dzienników bazy danych
/d – ustaw miejsce docelowe z plikiem bazy danych .edb , który musimy odzyskać za pomocą dzienników i przywrócić do stanu czystego
- Sprawdź stan bazy danych po odzyskaniu za pomocą znanego polecenia:
eseutil /R E00 /l D:DBrecoveryDB01 /d D:DBrecoveryDB01
W naszym przypadku stan wynosi obecnie Clean Shutdown .
Nasza baza danych jest teraz w dobrym stanie i możemy ją wykorzystać jako bazę do odzyskiwania danych, na przykład do odzyskiwania skrzynek pocztowych w Exchange.
Odzyskiwanie danych z bazy do odzyskiwania skrzynek pocztowych Exchange
Można przeprowadzić odzyskiwanie skrzynki pocztowej Microsoft Exchange dla konkretnego użytkownika, korzystając z bazy do odzyskiwania.
- Utwórz bazę do odzyskiwania danych Exchange (wykorzystując istniejący
.edbplik) za pomocą polecenia w postaci:
New-MailboxDatabase -Recovery -Name <RDBName> -Server <ServerName> -EdbFilePath <RDBPathandFileName> -LogFolderPath <LogFilePath>
RDBName musi być unikalną nazwą bazy do odzyskiwania.
Dokładne polecenie w naszym przypadku brzmi:
NewMailboxDatabase -Recovery -Name RDB01 -Server Win2019 -EdbFilePath D:DBrecoveryDB01DB01.edb -LogFolderPath D:DBrecoveryDB01
- Należy ponownie uruchomić usługę
Exchange Information Store:
Restart-Service MSExchangeIS
Alternatywnie, przejdź do services.msc z wiersza poleceń i ponownie uruchom usługę Microsoft Exchange Information Store w oknie GUI konsoli usług Microsoft.
- Zamontuj bazę danych odzyskiwania:
Mount-database RDB01
- Sprawdź, czy baza danych odzyskiwania zawiera jakiekolwiek dane:
Get-MailboxStatistics -Database RDB01 | Format-Table DisplayName,MailboxGUID -AutoSize
Wynik wyświetla nazwę i identyfikator skrzynki pocztowej, które są potrzebne do przeniesienia odzyskanej wiadomości e-mail do innej skrzynki pocztowej.
Inny sposób sprawdzania skrzynek pocztowych w bazie odzyskiwania Exchange:
Get-MailboxStatistics -Database RDB01 | ft -AutoSize
- Na przykład musimy przeprowadzić odzyskiwanie skrzynki pocztowej Microsoft Exchange o identyfikatorze:
8aa77cb3-dc38-1f37-72e5-55702e737f52
Polecenie przywracania skrzynki pocztowej z bazy odzyskiwania wygląda następująco. Należy podać bazę źródłową (bazę odzyskiwania), identyfikator skrzynki pocztowej w bazie odzyskiwania oraz bazę docelową.
New-MailboxRestoreRequest -SourceDatabase RDB01 -SourceStoreMailbox 8aa77cb3-dc38-1f37-72e5-55702e737f52 -TargetMailbox DB01
Jeśli pojawi się komunikat o błędzie:
Source mailbox legacuexchangedn doesn’t match
, dodaj na końcu polecenia: : -AllowLegacyDNMismatchNew-MailboxRestoreRequest -SourceDatabase RDB01 -SourceStoreMailbox 8aa77cb3-dc38-1f37-72e5-55702e737f52 -TargetMailbox DB01 -AllowLegacyDNMismatch
Uwaga: Innym sposobem odzyskania skrzynki pocztowej jest podanie jej nazwy, na przykład: user1:
New-MailboxRestoreRequest -Name "User Mailbox Recovery" -SourceDatabase RDB01 - SourceStoreMailbox "user1" -TargetMailbox "user1"
- Po zakończeniu odzyskiwania skrzynki pocztowej Exchange można usunąć żądanie przywrócenia skrzynki:
Get-MailboxRestoreRequest | where status -eq completed | Remove-MailboxRestoreRequest
- Następnie można odmontować bazę danych odzyskiwania:
Dismount-Database RDB01
Spróbuj uzyskać dostęp do odzyskanej skrzynki pocztowej za pośrednictwem Outlooka w sieci Web i sprawdź, czy wszystkie potrzebne dane zostały odzyskane dla użytkownika.
Twarde odzyskiwanie bazy danych Exchange
Opisana powyżej metoda odzyskiwania bazy danych Exchange stanowiła przykład odzyskiwania miękkiego. Odzyskiwanie miękkie ma zastosowanie, gdy plik bazy danych nie jest uszkodzony, a dzienniki transakcji bazy danych są dostępne. Jeśli warunki te nie są spełnione, alternatywną metodą odzyskiwania danych Exchange jest odzyskiwanie twarde (jeśli nie dysponujesz kopią zapasową serwera Exchange). Odzyskiwanie twarde polega na usunięciu wszystkich uszkodzonych danych z bazy danych serwera Exchange w celu zapewnienia spójności stanu bazy danych.
- Napraw uszkodzoną bazę danych. Użyj tego polecenia, jeśli brakuje dzienników transakcji bazy danych Exchange:
eseutil /p E:DB01DB01.edb

Wyświetlany jest komunikat ostrzegawczy:

Procesu tego nie można cofnąć, a po jego zakończeniu może dojść do utraty niektórych danych.
Kliknij OK , aby kontynuować, i poczekaj, aż proces się zakończy.
- Sprawdź, czy baza danych znajduje się w stanie „
Clean Shutdown”:
eseutil /mh E:DB01DB01.edb
- Po naprawie należy zdefragmentować bazę danych, ponieważ usunięcie dużych fragmentów uszkodzonych danych z bazy powoduje spadek wydajności:
eseutil /d E:DB01DB01.edb
Zostanie utworzona nowa baza danych, a wszystkie spójne (prawidłowe) dane ze starej, naprawionej bazy zostaną przeniesione do nowej.
- Zamontuj zdefragmentowaną bazę danych:
Mount-Database E:DB01DB01.edb
- Sprawdź tę bazę danych za pomocą polecenia, aby upewnić się, że nie ma żadnych problemów:
Get-MailboxRepairRequest -Database E:DB01DB01.edb
Odzyskiwanie bazy danych Exchange z uszkodzonej kopii zapasowej zostało zakończone.
Odzyskiwanie danych Exchange za pomocą NAKIVO
NAKIVO Backup & Replication to rozwiązanie do ochrony danych, które obsługuje odzyskiwanie danych Exchange z fizycznej kopii zapasowej lub wirtualnej kopii zapasowej. Można odzyskać konkretne obiekty serwera Exchange, takie jak skrzynki pocztowe i e-maili, a także przeprowadzić pełne odzyskiwanie bazy danych Exchange. Proces odzyskiwania składa się z kilku kroków wykonywanych w interfejsie internetowym produktu.
Na głównym pulpicie nawigacyjnym kliknij Jobs > Recover > Microsoft Exchange objects , aby rozpocząć proces odzyskiwania serwera Exchange. 
Postępuj zgodnie z instrukcjami zawartymi na stronie Object Recovery Wizard.
- Wybierz punkt kopii zapasowej i punkt odzyskiwania. Elastyczna polityka przechowywania danych pozwala na odzyskiwanie elementów z różnych przedziałów czasowych.
- Wybierz serwer odzyskiwania. Wybierz komputer, na którym pierwotnie zainstalowano Microsoft Exchange Server, lub inny komputer, na który mają zostać odzyskane dane Exchange Server.
Uwaga: Aby odzyskiwać konkretne wiadomości e-mail i pobrać je jako PST pliki za pośrednictwem przeglądarki internetowej, należy ustawić parametr system.exchange.enable.direct.recovery na stronie ustawień zaawansowanych, dostępnej pod adresami takimi jak
https://localhost:4443/c/configuration?expert or
https://localhost:4443/c/configuration?action=&targetId=&backUrl=&wizard=false&expert
- Wybierz obiekty Exchange do odzyskania. Można odzyskać całą
.edbbazę danych lub wybrać konkretne skrzynki pocztowe i wiadomości e-mail. Dla większej wygody można również wyszukiwać potrzebne obiekty serwera Exchange.
- Wybierz opcje odzyskiwania, takie jak typ odzyskiwania i zachowanie podczas nadpisywania:
- Odzyskaj do pierwotnej lokalizacji – wybrane obiekty są odzyskiwane do pierwotnych lokalizacji na serwerze lub maszynie wirtualnej.
- Przywróć do lokalizacji niestandardowej – pozwala wybrać maszynę i określić ścieżkę, do której mają zostać przywrócone obiekty.
- Eksportuj do lokalizacji niestandardowej – pozwala wyeksportować wybrane obiekty Exchange, w tym całą skrzynkę pocztową, do folderu lokalnego lub udziału CIFS (SMB).
Zachowanie podczas nadpisywania określa, co należy zrobić, jeśli element już istnieje:
- Zmień nazwę przywróconego elementu
- Pomiń przywrócony element
- Nadpisz oryginalny element
- Poczekaj, aż Odzyskiwanie danych Exchange zostanie zakończone.
Wnioski
Najlepszą metodą odzyskiwania danych z serwera Exchange jest odzyskiwanie z kopii zapasowej przy użyciu profesjonalnego i kompleksowego rozwiązania do ochrony danych. Za pomocą oprogramowania NAKIVO Backup & Replication można tworzyć spójne kopie zapasowe serwera Exchange działającego na maszynie fizycznej lub wirtualnej, korzystając z szerokiej gamy elastycznych opcji natychmiastowego odzyskiwania. Produkt obsługuje również odzyskiwanie obiektów usługi Active Directory , które mogą być niezbędne do prawidłowego działania serwera Exchange.






















