Exchange 2019: ExchangeStoreDB EventID 171 Datenbank lässt sich nicht mounten

Auf einem Exchange 2019 Server kann es zu Problemen kommen, wenn eine Datenbank größer als 1 TB ist. Auf einem Exchange 2019 Standard Server beträgt die maximale Datenbankgröße 1 TB, ist die Datenbank größer, kommt es zu Problemen beim FailOver innerhalb der DAG. Auch lässt sich Datenbank welche größer als 1 TB ist mehr auf einem Exchange Standard Server mounten. Im Eventlog wird dann folgende Fehlermeldung aus der Quellle ExchangeStoreDB protokolliert:

Exchange 2019: ExchangeStoreDB EventID 171 Datenbank lässt sich nicht mounten

Quelle: ExchangeStoreDB

Event ID: 171

Meldung:

At ‚16.04.2023 19:38:25‘ database copy ‚DBNAME‘ on this server exceeded the configured maximum database size and service recovery was not attempted. Please increase the value of this registry key on the server hosting the active database copy before attempting to mount this database. For more details about the failure, consult the Event log on the server for other storage and „MSExchangeIS“ events.

Exchange Server 2019 Enterprise Edition hat kein solches Limit. Glücklicherweise muss man nun nicht zwingend auf die Enterprise Edition wechseln, falls eine Datenbank größer wird. Das Limit lässt sich einfach in der Registry anpassen.

Um die maximale Datenbankgröße zu erhöhen, muss man sich zunächst die GUID der Datenbank anzeigen lassen:

Get-MailboxDatabase DATENBANKNAME | select name,guid

In der Regsitry muss nun der folgende Pfad gesucht werden:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIS\SERVERNAME\Private-DATENBANKGUID

Unter diesem Pfad lässt sich jetzt ein neues DWORD mit dem Namen „Database Size Limit in GB“ und dem gewünschten neuen Limit als Dezimalwert anlegen. In diesem Beispiel sind es 2 TB:

Nachdem das Limit angepasst wurde lässt sich die Datenbank mit dem folgenden Befehl wieder mounten:

Mount-Database DBNAME -Force

Falls man mehrere Datenbanken und mehrere Exchange Server hat, kann man sich die Arbeit auch durch ein kleines PowerShell Script etwas einfacher machen:

#New max database size in GB:
$NewDBMaxSize = 2048

$DBGUIDs = Get-ExchangeServer $env:computername | Get-MailboxDatabase | select guid
foreach ($DBGUID in $DBGUIDs) {
 $RegPath = "HKLM:\SYSTEM\CurrentControlSet\Services\MSExchangeIS\"
 $DatabaseRegPath = "HKLM:\SYSTEM\CurrentControlSet\Services\MSExchangeIS\" + $env:computername + "\Private-" + $DBGUID.Guid
 New-ItemProperty -Path $DatabaseRegPath -Name "Database Size Limit in GB" -Value $NewDBMaxSize -PropertyType DWORD -Force | Out-Null
}

Das Script ermittelt die GUIDs der Datenbanken auf dem Server auf dem es ausgeführt wird und trägt das neue Limit ($NewDBMaxSize) in die Registry ein. Das Script muss in einer Exchange Management Shell mit administrativen Rechten ausgeführt werden. Diese Limits gelten übrigens auch für Exchange Server 2016 in der Standard Edition. Das Script ist auch auf GitHub verfügbar:

7 Gedanken zu „Exchange 2019: ExchangeStoreDB EventID 171 Datenbank lässt sich nicht mounten“

  1. Ich habe nicht geschrieben dass es technisch nicht funktioniert, ich habe nur darauf hingewiesen dass man mit Standard Lizenz keine Datenbanken größer 1 TB einbinden kann und gleichzeitig sauber lizenziert ist, steht auch so in dem genannten Artikel.

    Antworten
    • Das sollte man auch nicht unbedingt dauerhaft so betreiben, da das spätestens beim nächsten CU einem um die Ohren fliegen kann. Der Workaround ist mMn eher dafür gedacht, die Datenbank temporär wieder online zu bekommen um dann eine bzw. zwei weitere anzulegen (sofern man das Limit noch nicht erreicht hat) und dann Postfächer durch Umzug auf mehrere kleinere Datenbanken aufzuteilen. So haben wir das gemacht, als wir in dieses Problem gelaufen sind. Das sollte dann auch lizenztechnisch eher kein Problem sein, weil man am Ende sich ja wieder innerhalb des Limits befindet.

      Antworten
  2. Ja, hierüber bin ich auch schon mal fies gestolpert. Besonders böse dabei: Solange die DB noch gemountet ist funktioniert die und es gibt meine ich auch keine Fehlermeldung darüber, dass was im Argen ist. Das Problem tritt erst auf, wenn die neu gemountet werden soll, z.Bsp. nach einem Serverneustart.

    Antworten

Schreibe einen Kommentar