Hvordan gjenopprette Exchange Server postboksdatabase

Exchange-serveren krasjet, og den kan ikke starte opp lenger. Vi ønsker å montere postboksdatabasen på en andre Exchange-server. Dessverre er det ingen knapp for å montere postboksdatabasen. I denne artikkelen vil du lære hvordan du gjenoppretter en Exchange Server-postboksdatabase uten tap av data.

Introduksjon

Vi har en feilslått Exchange Server 2019 (EX01-2019) som ikke kan starte opp lenger og en stabil Exchange Server 2019 (EX03-2019).

Det er to postboksdatabaser:

  • PostkassedatabasenDB01er den eneste postboksdatabasen som var i bruk på EX01-2019. Dessverre, nå som EX01-2019 er frakoblet, er databasens postboksmonteringsstatusUkjent(Offline), og ingenting fungerer.
  • PostkassedatabasenPostboksdatabaseer montert på EX03-2019 og ikke i bruk. Den er ved god helse.

Så hvordan skal vi gjenopprette Exchange-postboksdatabasen til den nye Exchange Server EX03-2019?

Gjenopprett Exchange-postboksdatabase til ny server

Vi har postkassedatabasenDB01(.edb) fil. Men hvordan monterer vi postboksdatabasefilen (.edb) til den nye Exchange Server? Det er ingen mulighet for å montere databasen fra en filbane i Exchange administrasjonssenter eller med PowerShell.

Exchange Server har en funksjon kaltDatabaseportabilitet. Dette gjør at en postboksdatabase fra én postboksserver kan flyttes og monteres på en annen postboksserver i samme organisasjon.

Viktig:Når du bruker databaseportabilitet for å gjenopprette en postboksdatabase, må operativsystemversjonen og Exchange Server-versjonen på kilde- og mål-Exchange-serveren være den samme. For eksempel, hvis en Exchange 2016-postboksdatabase tidligere var montert på en server som kjører Windows Server 2016, vil databaseportabilitet bare fungere når databasen migreres til en server som også kjører Windows Server 2016 og Exchange 2016.

Trinn 1. Få avslutningsstatus for kildepostkassedatabasen

Vi må sjekke databaseavslutningstilstanden for å bestemme hva neste trinn vil være.

Start ledeteksten og kjør kommandoen nedenfor.

eseutil /mh "C:BackupDB01DB01.edb"

Du kan også kjøre kommandoen nedenfor for bare å viseTilstandeiendom.

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

Utgangen vil vise verdienRen nedleggelseeller aSkitten avstengning.

State: Clean Shutdown

Trinn 2. Utfør myk gjenoppretting av kildepostkassedatabasen

Hvis postboksdatabasen er i en ren avslutningstilstand eller du ikke har transaksjonsloggene, kan du hoppe over dette trinnet.

Med en database i en skitten avslutningstilstand, og alle transaksjonsloggfilene tilgjengelig, utfør en myk gjenoppretting av databasen. Dette forplikter alle uforpliktede transaksjonslogger til databasen slik at det ikke er tap av data.

Kjør kommandoen nedenfor i ledeteksten for å utføre en myk gjenoppretting på postboksdatabasen.

  • /r: loggprefiks
  • /l: bane til loggfiler
  • /d: bane til databasefil
  • /s: bane til sjekkpunktfil
eseutil /r E00 /l "C:BackupDB01 Logs" /d "C:BackupDB01" /s "C:BackupDB01 Logs"

Utgangen nedenfor vises.

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.

Trinn 3. Opprett målpostboksdatabase

Kjør Exchange Management Shell som administrator. Opprett en ny postboksdatabase på Exchange Server som du skal bruke til å montere databasen. Angi banene for databasefilen og transaksjonsloggene.

Note:Det vil opprette mappene i banene, men postboksdatabasefilen eller databaseloggene vil ikke vises der. Den vises kun når du monterer postboksdatabasen. Du vil imidlertid ikke montere databasen nå fordi du må erstatte den med sikkerhetskopien i ett av de neste trinnene.

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

Utgangen nedenfor vises.

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.

Merk databasen som overskrivbar. De-AllowFileRestoreparameter angir om en database skal gjenopprettes fra en sikkerhetskopi.

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

Viktig:Ikke monter postboksdatabasen. Først må du flytte kildepostkassedatabasefilene.

Trinn 4. Flytt kildepostboksdatabase og loggfiler

Hent postboksdatabasen fra sikkerhetskopien eller den ikke-oppstartende Exchange-serveren.

Flytt kildepostkassedatabasen og loggfilene til målbanene du opprettet i forrige trinn.

Kopier postboksdatabasenDB01.edb.

Lim den inn i banenE:DB01-Gjenopprettetpå EX03-2019.

Kopier postboksdatabasenDB01 logger. Hvis du ikke har transaksjonsloggene for postboksdatabasen, kan du hoppe over dette trinnet.

Lim den inn i banenF:DB01-Recovered.

Trinn 5. Monter måldatabasen

Monter databasenDB01-gjenopprettet.

Mount-Database "DB01-Recovered"

Kontroller at du ser postboksdatabasen DB01-Recovered som montert i Exchange-administrasjonssenteret.

Trinn 6. Sett postboksdatabase på brukere

La oss flytte postkassene fraDB01tilDB01-gjenopprettet.

Få postkassene på databasenDB01.

Get-Mailbox -Database "DB01" -ResultSize Unlimited

Den viser brukerne at de er koblet til EX01-2019, noe som er helt normalt.

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

Du må sette postkassen til det nye databasenavnetDB01-gjenopprettet.

Endre postboksdatabasen for en enkelt bruker. Dette vil angi attributtene til postboksdatabasenDB01-gjenopprettetog angi servernavnet automatiskEX03-2019også.

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

Sett den for alle brukerne.

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

Hvis miljøet har problemerGet-Mailboxcmdlet vil ikke vise postkassene. Så du må brukeFå brakt dencmdlet i stedet.

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

Dette vil vise alle brukerne.

Se også:Konfigurer videresending av e-post for postboks på Exchange Server/Microsoft 365

Ikke alle brukerne har en postkasse, og de kan være i forskjellige databaser. Så la oss filtrere kun på brukerne fra Exchange Server EX01-2019 og postboksdatabasen 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

Slik ser utgangen ut.

La oss sette den nye postkassedatabasenDB01-gjenopprettetfor alle filtrerte brukere.

# 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
}

Kommandoene ovenfor flyttet bare postkassene og ikke arkivpostkassene. For å gjenopprette arkivpostboksene, må du endre msExchArchiveDatabaseLink-attributtverdien.

Finn arkivpostboksene som er på postboksdatabasen DB01.

$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

La oss sette den nye postkassedatabasenDB01-gjenopprettetfor alle arkivpostkassene.

# 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
}

Trinn 7. Få postboks på måldatabasen

Kontroller at postboksene ligger i postboksdatabasen DB01-Recovered.

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

Sjekk databasen DB01 for postbokser, og det vil ikke være noen resultater.

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

Hva er det neste?

PostkassedatabasenDB01-gjenoppretteter online, og alle kan koble seg til Exchange Server og fortsette arbeidet sitt.

Du kan nå gjenopprette EX01-2019-serveren. Følg en av artiklene nedenfor for å gjenopprette Exchange Server:

  • Gjenopprett Exchange Server (frittstående)
  • Recover Exchange DAG member server

Hvis du ikke bruker/Mode:RecoverServerswitch, som vist i begge artiklene, vil du installere en ny Exchange Server i organisasjonen. Selv om dette ikke er den anbefalte metoden, vil den fungere. Du må imidlertid fjerne den gamle Exchange Server fra ADSI Edit og sette opp flere postkonfigurasjoner på Exchange Server.

Det er det!

Konklusjon

Du lærte hvordan du gjenoppretter Exchange Server-postboksdatabasen. Det er alltid viktig å ha en sikkerhetskopi av postkassedatabasen fordi det er der all postkasseinformasjonen er lagret. Følg trinnene for å montere den sikkerhetskopierte postboksdatabasen til en annen Exchange-server.

Likte du denne artikkelen? Du kan også like Opprett brukerpostboks i Exchange Server. Ikke glem å følge oss og dele denne artikkelen.

Related Posts