Exchange-serveren gik ned, og den kan ikke starte længere. Vi ønsker at montere postkassedatabasen på en anden Exchange-server. Desværre er der ingen knap til at montere postkassedatabasen. I denne artikel lærer du, hvordan du gendanner en Exchange Server-postkassedatabase uden tab af data.
Indledning
Vi har en fejlbehæftet Exchange Server 2019 (EX01-2019), der ikke længere kan starte, og en stabil Exchange Server 2019 (EX03-2019).
Der er to postkassedatabaser:
- PostkassedatabasenDB01er den eneste postkassedatabase, der var i brug på EX01-2019. Desværre, nu hvor EX01-2019 er offline, er databasens postkassemonteringsstatusUkendt(Offline), og intet virker.
- PostkassedatabasenMailbox Databaseer monteret på EX03-2019 og ikke i brug. Det er ved godt helbred.

Så hvordan vil vi gendanne Exchange-postkassedatabasen til den nye Exchange Server EX03-2019?
Gendan Exchange-postkassedatabase til ny server
Vi har postkassedatabasenDB01(.edb) fil. Men hvordan monterer vi postkassedatabasefilen (.edb) til den nye Exchange Server? Der er ingen mulighed for at montere databasen fra en filsti i Exchange admin center eller med PowerShell.
Exchange-serveren har en funktion kaldetDatabaseportabilitet. Dette gør det muligt at flytte en postkassedatabase fra én postkasseserver og montere på en anden postkasseserver inden for samme organisation.
Vigtig:Når du bruger databaseportabilitet til at gendanne en postkassedatabase, skal operativsystemversionen og Exchange Server-versionen på kilde- og mål Exchange-serveren være den samme. For eksempel, hvis en Exchange 2016-postkassedatabase tidligere var monteret på en server, der kører Windows Server 2016, vil databaseportabilitet kun fungere, når databasen migreres til en server, der også kører Windows Server 2016 og Exchange 2016.
Trin 1. Hent nedlukningstilstand for kildepostkassedatabasen
Vi er nødt til at kontrollere databasens nedlukningstilstand for at beslutte, hvad det næste trin vil være.
Start kommandoprompt og kør kommandoen nedenfor.
eseutil /mh "C:BackupDB01DB01.edb"Du kan også køre kommandoen nedenfor for kun at viseTilstandejendom.
Foreslået læsning:Mailbox Replication Service kunne ikke oprette forbindelse til fjernserveren
eseutil /mh "C:BackupDB01DB01.edb" | findstr "State:"Udgangen vil vise værdienRen nedlukningeller aBeskidt nedlukning.
State: Clean ShutdownTrin 2. Udfør blød gendannelse af kildepostkassedatabasen
Hvis postkassedatabasen er i en Clean Shutdown-tilstand, eller du ikke har transaktionslogfilerne, kan du springe dette trin over.
Med en database i en beskidt nedlukningstilstand og alle tilgængelige transaktionslogfiler, skal du udføre en blød gendannelse af databasen. Dette forpligter alle ikke-forpligtede transaktionslogfiler til databasen, så der ikke er noget tab af data.
Kør kommandoen nedenfor i kommandoprompt for at udføre en blød gendannelse på postkassedatabasen.
- /r: logpræfiks
- /l: sti til logfiler
- /d: sti til databasefil
- /s: sti til kontrolpunktfil
eseutil /r E00 /l "C:BackupDB01 Logs" /d "C:BackupDB01" /s "C:BackupDB01 Logs"Udgangen 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.Trin 3. Opret målpostkassedatabase
Kør Exchange Management Shell som administrator. Opret en ny postkassedatabase på Exchange-serveren, som du vil bruge til at montere databasen. Angiv stierne til databasefilen og transaktionsloggene.
Note:Det vil oprette mapperne i stierne, men postkassedatabasefilen eller databaselogfilerne vises ikke der. Den vises kun, når du monterer postkassedatabasen. Du vil dog ikke montere databasen nu, fordi du skal erstatte den med sikkerhedskopien i et af de næste trin.
New-MailboxDatabase -Name "DB01-Recovered" -Server "EX03-2019" -EdbFilePath "E:DB01-RecoveredDB01.edb" -LogFolderPath "F:DB01-Recovered"Udgangen 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.Marker databasen som overskrivbar. De-AllowFileRestoreparameter angiver, om en database skal gendannes fra en sikkerhedskopi.
Set-MailboxDatabase "DB01-Recovered" -AllowFileRestore:$trueVigtig:Monter ikke postkassedatabasen. Først skal du flytte kildepostkassens databasefiler.
Trin 4. Flyt kildepostkassedatabase og logfiler
Hent postkassedatabasen fra sikkerhedskopien eller den ikke-startende Exchange Server.
Flyt kildepostkassedatabasen og logfilerne til de målstier, du oprettede i det forrige trin.
Kopier postkassedatabasenDB01.edb.

Indsæt det i stienE:DB01-Gendannetpå EX03-2019.

Kopier postkassedatabasenDB01 logfiler. Hvis du ikke har postkassedatabasens transaktionslogfiler, kan du springe dette trin over.

Indsæt det i stienF:DB01-Gendannet.

Trin 5. Monter måldatabase
Monter databasenDB01-Recovered.
Mount-Database "DB01-Recovered"Kontroller, at du ser postkassedatabasen DB01-Recovered som monteret i Exchange-administrationscenter.

Trin 6. Indstil postkassedatabase på brugere
Lad os genhuse postkasserne fraDB01tilDB01-Recovered.
Få postkasserne på databasenDB01.
Get-Mailbox -Database "DB01" -ResultSize UnlimitedDet viser brugerne, at de er tilsluttet EX01-2019, hvilket 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 UnlimitedDu skal indstille postkassen til det nye databasenavnDB01-Recovered.
Skift postkassedatabasen for en enkelt bruger. Dette vil indstille attributterne til postkassedatabasenDB01-Recoveredog automatisk indstille servernavnetEX03-2019også.
Set-Mailbox -Identity "Boris.Campbell" -Database "DB01-Recovered" -ForceIndstil det til alle brugere.
Get-Mailbox -Database "DB01" -ResultSize Unlimited | Set-Mailbox -Database "DB01-Recovered" -ForceHvis miljøet har problemer,Hent-postkassecmdlet vil ikke vise postkasserne. Så du skal brugeFå bragt dencmdlet i stedet for.
Get-ADUser -Filter * -Properties msExchHomeServerName, homeMDB | Select-Object Name, msExchHomeServerName, homeMDB | Sort-Object Name | Out-GridViewDette vil vise alle brugerne.

Ikke alle brugere har en postkasse, og de kan være i forskellige databaser. Så lad os kun filtrere på brugerne fra Exchange Server EX01-2019 og postkassedatabasen 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-GridViewSådan ser udgangen ud.

Lad os indstille den nye postkassedatabaseDB01-Recoveredfor alle de filtrerede brugere.
# 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
}Ovenstående kommandoer flyttede kun postkasserne og ikke arkivpostkasserne. For at genstarte arkivpostkasserne skal du ændre msExchArchiveDatabaseLink-attributværdien.
Find de arkivpostkasser, der er på postkassedatabasen 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-GridViewLad os indstille den nye postkassedatabaseDB01-Recoveredfor alle arkivpostkasserne.
# 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
}Trin 7. Få postkasse på måldatabasen
Kontroller, at postkasserne er hostet i postkassedatabasen DB01-Recovered.
Get-Mailbox -ResultSize Unlimited -Database "DB01-Recovered"Get-Mailbox -ResultSize Unlimited | Where-Object {$_.ArchiveDatabase -like "DB01-Recovered"}Tjek databasen DB01 for postkasser, og der vil ikke være nogen resultater.
Get-Mailbox -ResultSize Unlimited -Database "DB01" Get-Mailbox -ResultSize Unlimited | Where-Object {$_.ArchiveDatabase -like "DB01"}Hvad er det næste?
PostkassedatabasenDB01-Recovereder online, og alle kan oprette forbindelse til Exchange Serveren og fortsætte med deres arbejde.
Du kan nu gendanne EX01-2019-serveren. Følg en af nedenstående artikler for at gendanne Exchange Server:
- Gendan Exchange Server (standalone)
- Recover Exchange DAG member server
Hvis du ikke bruger/Mode:RecoverServerswitch, som vist i begge artikler, vil du installere en ny Exchange Server i organisationen. Selvom dette ikke er den anbefalede metode, vil det virke. Du skal dog fjerne den gamle Exchange Server fra ADSI Edit og konfigurere flere postkonfigurationer på Exchange Serveren.
Det er det!
Konklusion
Du lærte, hvordan du gendanner Exchange Server-postkassedatabasen. Det er altid vigtigt at have en sikkerhedskopi af postkassedatabasen, fordi det er der, alle postkasseoplysningerne er gemt. Følg trinene for at montere den sikkerhedskopierede postkassedatabase til en anden Exchange Server.
Nyd du denne artikel? Du kan også lide Opret brugerpostkasse i Exchange Server. Glem ikke at følge os og dele denne artikel.














