Hoe u de Exchange Server-postvakdatabase kunt herstellen

De Exchange Server is gecrasht en kan niet meer opstarten. We willen de mailboxdatabase op een tweede Exchange-server koppelen. Helaas is er geen knop om de mailboxdatabase te koppelen. In dit artikel leert u hoe u een Exchange Server-mailboxdatabase kunt herstellen zonder enig gegevensverlies.

Invoering

We hebben een defecte Exchange Server 2019 (EX01-2019) die niet meer kan opstarten en een stabiele Exchange Server 2019 (EX03-2019).

Er zijn twee mailboxdatabases:

  • De mailboxdatabaseDB01is de enige mailboxdatabase die in gebruik was op EX01-2019. Helaas, nu EX01-2019 offline is, is de mountstatus van de databasemailbox hetzelfdeOnbekend(Offline) en niets werkt.
  • De mailboxdatabasePostbusdatabaseis gemonteerd op EX03-2019 en niet in gebruik. Het verkeert in goede gezondheid.

Dus hoe zullen we de Exchange-mailboxdatabase herstellen naar de nieuwe Exchange Server EX03-2019?

Herstel de Exchange-mailboxdatabase naar een nieuwe server

We hebben de mailboxdatabaseDB01(.edb)-bestand. Maar hoe koppelen we het mailboxdatabasebestand (.edb) aan de nieuwe Exchange Server? Er is geen optie om de database te koppelen vanuit een bestandspad in het Exchange-beheercentrum of met PowerShell.

De Exchange Server heeft een functie genaamdDatabaseportabiliteit. Hierdoor kan een mailboxdatabase van de ene mailboxserver worden verplaatst en gekoppeld aan een andere mailboxserver binnen dezelfde organisatie.

Belangrijk:Wanneer u databaseportabiliteit gebruikt om een ​​mailboxdatabase te herstellen, moeten de versie van het besturingssysteem en de Exchange Server-versie op de bron- en doel-Exchange-servers hetzelfde zijn. Als een Exchange 2016-postvakdatabase bijvoorbeeld eerder was gekoppeld aan een server met Windows Server 2016, werkt de databaseportabiliteit alleen wanneer de database wordt gemigreerd naar een server waarop ook Windows Server 2016 en Exchange 2016 wordt uitgevoerd.

Stap 1. Haal de afsluitstatus van de bronmailboxdatabase op

We moeten de afsluitstatus van de database controleren om te beslissen wat de volgende stap zal zijn.

Start de opdrachtprompt en voer de onderstaande opdracht uit.

eseutil /mh "C:BackupDB01DB01.edb"

U kunt ook de onderstaande opdracht uitvoeren om alleen deStaateigendom.

Aanbevolen lees:Mailbox Replication Service kan geen verbinding maken met de externe server

eseutil /mh "C:BackupDB01DB01.edb" | findstr "State:"

De uitvoer toont de waardeSchone afsluitingof eenVuile afsluiting.

State: Clean Shutdown

Stap 2. Voer een zacht herstel uit van de bronmailboxdatabase

Als de mailboxdatabase de status Opschonen heeft of als u niet over de transactielogboeken beschikt, kunt u deze stap overslaan.

Als een database zich in een vuile afsluitstatus bevindt en alle transactielogbestanden beschikbaar zijn, voert u een zacht herstel van de database uit. Hierdoor worden alle niet-vastgelegde transactielogboeken in de database vastgelegd, zodat er geen gegevensverlies optreedt.

Voer de onderstaande opdracht uit in de opdrachtprompt om een ​​zacht herstel uit te voeren op de mailboxdatabase.

  • /R: logvoorvoegsel
  • /l: pad naar logbestanden
  • /D: pad naar databasebestand
  • /S: pad naar controlepuntbestand
eseutil /r E00 /l "C:BackupDB01 Logs" /d "C:BackupDB01" /s "C:BackupDB01 Logs"

De onderstaande uitvoer verschijnt.

Extensible Storage Engine Utilities for Microsoft(R) Exchange Server
Version 15.02
Copyright (C) Microsoft Corporation. All Rights Reserved.

Initiating RECOVERY mode...
    Logfile base name: E00
            Log files: C:BackupDB01 Logs
         System files: C:BackupDB01 Logs
   Database Directory: C:BackupDB01

Performing soft recovery...
                      Restore Status (% complete)

          0    10   20   30   40   50   60   70   80   90  100
          |----|----|----|----|----|----|----|----|----|----|
          ...................................................

Operation completed successfully in 3.78 seconds.

Stap 3. Maak een doelmailboxdatabase aan

Voer Exchange Management Shell uit als beheerder. Maak een nieuwe mailboxdatabase op de Exchange Server die u gaat gebruiken om de database te koppelen. Geef de paden op voor het databasebestand en de transactielogboeken.

Opmerking:Het zal de mappen in de paden aanmaken, maar het mailboxdatabasebestand of de databaselogboeken zullen daar niet verschijnen. Het verschijnt alleen als u de mailboxdatabase aankoppelt. U gaat de database nu echter niet aankoppelen omdat u deze in een van de volgende stappen moet vervangen door de back-up.

New-MailboxDatabase -Name "DB01-Recovered" -Server "EX03-2019" -EdbFilePath "E:DB01-RecoveredDB01.edb" -LogFolderPath "F:DB01-Recovered"

De onderstaande uitvoer verschijnt.

Name                           Server          Recovery        ReplicationType
----                           ------          --------        ---------------
DB01-Recovered                 EX03-2019       False           None
WARNING: Please restart the Microsoft Exchange Information Store service on server EX03-2019 after adding new mailbox
databases.

Markeer de database als overschrijfbaar. De-Bestandherstel toestaanparameter geeft aan of een database mag worden hersteld vanaf een back-up.

Set-MailboxDatabase "DB01-Recovered" -AllowFileRestore:$true

Belangrijk:Mount de mailboxdatabase niet. Eerst moet u de databasebestanden van de bronmailbox verplaatsen.

Stap 4. Verplaats de bronmailboxdatabase en logbestanden

Haal de mailboxdatabase op uit de back-up of de niet-opstartende Exchange Server.

Verplaats de bronpostvakdatabase en de logbestanden naar de doelpaden die u in de vorige stap hebt gemaakt.

Kopieer de mailboxdatabaseDB01.edb.

Plak het in het padE:DB01-hersteldop EX03-2019.

Kopieer de mailboxdatabaseDB01-logboeken. Als u niet over de transactielogboeken van de mailboxdatabase beschikt, kunt u deze stap overslaan.

Plak het in het padF:DB01-hersteld.

Stap 5. Doeldatabase koppelen

Mount de databaseDB01-hersteld.

Mount-Database "DB01-Recovered"

Controleer of u de mailboxdatabase DB01-Recovered ziet zoals gekoppeld in het Exchange-beheercentrum.

Stap 6. Stel de mailboxdatabase in op gebruikers

Laten we de mailboxen herplaatsenDB01naar deDB01-hersteld.

Haal de mailboxen op in de databaseDB01.

Get-Mailbox -Database "DB01" -ResultSize Unlimited

Het laat de gebruikers zien dat ze verbonden zijn met EX01-2019, wat volkomen normaal is.

Name                      Alias                ServerName       ProhibitSendQuota
----                      -----                ----------       -----------------
Administrator             Administrator        ex01-2019        Unlimited
Max Fraser                Max.Fraser           ex01-2019        Unlimited
Richard Hunter            Richard.Hunter       ex01-2019        Unlimited
Boris Campbell            Boris.Campbell       ex01-2019        Unlimited
Alysia Maverick           Alysia.Maverick      ex01-2019        Unlimited
Christopher Payne         Christopher.Payne    ex01-2019        Unlimited
Nicholas Murray           Nicholas.Murray      ex01-2019        Unlimited
James Paterson            James.Paterson       ex01-2019        Unlimited
sharedmailboxonprem       sharedmailboxonprem  ex01-2019        Unlimited

U moet de mailbox instellen op de nieuwe databasenaamDB01-hersteld.

Wijzig de mailboxdatabase voor één gebruiker. Hiermee worden de kenmerken van de mailboxdatabase ingesteldDB01-herstelden stel automatisch de servernaam inEX03-2019te.

Set-Mailbox -Identity "Boris.Campbell" -Database "DB01-Recovered" -Force

Stel het in voor alle gebruikers.

Get-Mailbox -Database "DB01" -ResultSize Unlimited | Set-Mailbox -Database "DB01-Recovered" -Force

Als het milieu problemen heeft, kan deOntvang-mailboxcmdlet toont de mailboxen niet. Je moet dus gebruik maken van deHaal decmdlet in plaats daarvan.

Get-ADUser -Filter * -Properties msExchHomeServerName, homeMDB | Select-Object Name, msExchHomeServerName, homeMDB | Sort-Object Name | Out-GridView

Hierdoor worden alle gebruikers weergegeven.

Niet alle gebruikers hebben een mailbox en deze kunnen zich in verschillende databases bevinden. Laten we dus alleen filteren op de gebruikers van Exchange Server EX01-2019 en mailboxdatabase DB01.

# Define variables
$msExchHomeServerName = "/o=EXOIP/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Configuration/cn=Servers/cn=EX01-2019"
$homeMDB = "CN=DB01,CN=Databases,CN=Exchange Administrative Group (FYDIBOHF23SPDLT),CN=Administrative Groups,CN=EXOIP,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=exoip,DC=local"

# Get users matching the specified criteria
Get-ADUser -Filter {msExchHomeServerName -eq $msExchHomeServerName -and homeMDB -eq $homeMDB} -Properties msExchHomeServerName, homeMDB | Select-Object Name, msExchHomeServerName, homeMDB | Sort-Object Name | Out-GridView

Zo ziet de uitvoer eruit.

Laten we de nieuwe mailboxdatabase instellenDB01-hersteldvoor alle gefilterde gebruikers.

# Define variables
$msExchHomeServerName = "/o=EXOIP/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Configuration/cn=Servers/cn=EX01-2019"
$homeMDB = "CN=DB01,CN=Databases,CN=Exchange Administrative Group (FYDIBOHF23SPDLT),CN=Administrative Groups,CN=EXOIP,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=exoip,DC=local"

# Get users matching the specified criteria
$users = Get-ADUser -Filter {msExchHomeServerName -eq $msExchHomeServerName -and homeMDB -eq $homeMDB} -Properties SamAccountName, msExchHomeServerName, homeMDB

# Iterate through each user and set the mailbox database
foreach ($user in $users) {
    Set-Mailbox -Identity $user.SamAccountName -Database "DB01-Recovered" -Force
    Write-Host "Mailbox database set for user $($user.SamAccountName)" -ForegroundColor Green
}

Met de bovenstaande opdrachten werden alleen de mailboxen verplaatst en niet de archiefmailboxen. Om de archiefpostvakken opnieuw onder te brengen, moet u de kenmerkwaarde msExchArchiveDatabaseLink wijzigen.

Zoek de archiefpostvakken die zich in de postvakdatabase DB01 bevinden.

$msExchArchiveDatabaseLink = "CN=DB01,CN=Databases,CN=Exchange Administrative Group (FYDIBOHF23SPDLT),CN=Administrative Groups,CN=EXOIP,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=exoip,DC=local"

# Get users matching the specified criteria
Get-ADUser -Filter { msExchArchiveDatabaseLink -eq $msExchArchiveDatabaseLink } -Properties SamAccountName, msExchArchiveDatabaseLink, msExchHomeServerName | Select-Object Name, msExchArchiveDatabaseLink, msExchHomeServerName | Sort-Object Name | Out-GridView

Laten we de nieuwe mailboxdatabase instellenDB01-hersteldvoor alle archiefmailboxen.

# Define variable
$msExchArchiveDatabaseLink = "CN=DB01,CN=Databases,CN=Exchange Administrative Group (FYDIBOHF23SPDLT),CN=Administrative Groups,CN=EXOIP,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=exoip,DC=local"
$msExchArchiveDatabaseLinkNew = "CN=DB01-Recovered,CN=Databases,CN=Exchange Administrative Group (FYDIBOHF23SPDLT),CN=Administrative Groups,CN=EXOIP,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=exoip,DC=local"

# Get users matching the specified criteria
$users = Get-ADUser -Filter { msExchArchiveDatabaseLink -eq $msExchArchiveDatabaseLink } -Properties msExchArchiveDatabaseLink

# Update the msExchArchiveDatabaseLink attribute for each user
foreach ($user in $users) {
    Set-ADUser -Identity $user -Replace @{msExchArchiveDatabaseLink = $msExchArchiveDatabaseLinkNew }
    Write-Host "Mailbox database set for user $($user.SamAccountName)" -ForegroundColor Green
}

Stap 7. Haal de mailbox op de doeldatabase

Controleer of de mailboxen worden gehost in de mailboxdatabase DB01-Recovered.

Get-Mailbox -ResultSize Unlimited -Database "DB01-Recovered"
Get-Mailbox -ResultSize Unlimited | Where-Object {$_.ArchiveDatabase -like "DB01-Recovered"}

Controleer de database DB01 op mailboxen en er zullen geen resultaten zijn.

Get-Mailbox -ResultSize Unlimited -Database "DB01" 
Get-Mailbox -ResultSize Unlimited | Where-Object {$_.ArchiveDatabase -like "DB01"}

Wat is het volgende?

De mailboxdatabaseDB01-hersteldis online en iedereen kan verbinding maken met de Exchange Server en doorgaan met zijn werk.

U kunt nu de EX01-2019-server herstellen. Volg een van de onderstaande artikelen om Exchange Server te herstellen:

  • Exchange Server herstellen (standalone)
  • Recover Exchange DAG member server

Als u de/Modus:RecoverServeroverstappen, zoals weergegeven in beide artikelen, installeert u een nieuwe Exchange Server in de organisatie. Hoewel dit niet de aanbevolen methode is, zal het wel werken. U moet echter de oude Exchange Server verwijderen uit ADSI Edit en meer postconfiguraties instellen op de Exchange Server.

Dat is het!

Conclusie

U hebt geleerd hoe u de Exchange Server-postvakdatabase kunt herstellen. Het is altijd essentieel om een ​​back-up te hebben van de mailboxdatabase, omdat daar alle mailboxinformatie wordt opgeslagen. Volg de stappen om de geback-upte mailboxdatabase aan een andere Exchange Server te koppelen.

Vond je dit artikel leuk? Misschien vind je dit ook leuk Maak een gebruikersmailbox aan in Exchange Server. Vergeet ons niet te volgen en dit artikel te delen.

Related Posts