Exchange NOTFALL - 16,17,18,50 Gigabyte Limit

Ab Exchange 2003 SP2 ist die Grenze für den Standard Server auf 75 GB angehoben worden. Damit gibt es einen gewichtigen Grund, auf Exchange 2003 zu aktualisieren.

Exchange 2003 Standard SP2 erlaubt per Default auch nur 18 Gigabyte. Um bis zu 75 GB zu unterstützen, müssen die Grenze per Registrierung hoch setzen.

Unterstützung durch Net at Work:
Wie unterstützen gerne bei der Installation von Exchange 2003 SP2 oder dem update auf Exchange Enterprise Server. Sprechen Sie uns einfach an.

Exchange 2007 SP1 hat als ohne Lizenzkey ein Limit von 250 GB (früher 50 GB) . Nach der Eingabe des Lizenzschlüssels wird diese Grenze auf 5 Datenbanken bei der 64bit Version aufgehoben. Die Datenbankgröße kann man weiter über "Database Size Limit" beeinflussen

Sie haben einen Exchange 5.5/2000/2003 Standardserver und ihre Datenbank ist mittlerweile und unbemerkt auf 16 Gigabyte gewachsen. Das Ergebnis ist schnell beschrieben: Exchange stellt den Dienst ein und startet auch nicht mehr.

Im Eventlog finden Sie folgende Meldung:

Event Type: Error 
Event Source: MSExchangeIS
Event Category: General
Event ID: 1112
Description: The database "Mailbox Store (Server Name)" has reached the maximum allowed size. Attempting to unmount the database. Event Type: Warning
Event Source: ESE
Event Category: Space Management
Event ID: 445
Description: Information Store (3160) The database C:\Exchsrvr\MDBDATA\priv1.edb has reached its maximum size of 16383 MB. If the database cannot be restarted, an offline defragmentation may be performed to redUCE its size. Note Although the description für event ID 445 states that the Priv1.edb file has reached a size of 16,383 megabytes (MB), this may not be true. Event ID 445 is triggered if the combined size of the Priv1.edb file and the Priv1.stm file reaches 16,383 MB. The Priv1.edb file by itself may be smaller than 16,383 MB.

Dies ist von Microsoft so gewollt, da diese 16 Gigabyte Grenze ein unterscheidungsmerkmal zwischen der Exchange Standard und der Exchange Enterprise Version ist und eine Datenbank größer 16 Gigabyte immer eine Exchange Enterprise Version erfordert. Ob Microsoft dies zukünftig ändert, ist noch nicht klar. Hoffnung besteht, denn das 16 Gigabyte Limit ist schon Anfang an vorhanden. Früher waren 16 Gigabyte aber eine unverstellbare Zahl. Heute reicht diese Datenmenge sogar für kleine Firmen nicht mehr aus.

Daher müssen Sie sich zwischen zwei Optionen entscheiden:

  • < 16 Gigabyte
    Wenn Sie wissen, dass in ihrem Informationsspeicher viel Müll ist und sie eigentlich viele Nachrichten gar nicht mehr benötigen oder die Anlagen eh schon lange als Kopie auf ihrem Dateiserver abgelegt haben, dann können Sie auch zukünftig mit einem Informationsspeicherlimit von 16 Gigabyte leben. Allerdings müssen Sie dazu den aktuellen Speicher erst mal wieder ans laufen bekommen, um alte oder überflüssige Informationen zu löschen.
    Oft ist das auch der Fall, wenn aufgrund einer Endlosmail, Werbemails oder intensiver Replikation öffentlicher Ordner der Postfachspeicher stark gewachsen ist und dies eigentlich nicht normal ist.
  • >16 Gigabyte mit Exchange 2003 SP1 und älter
    Wenn Sie heute schon absehen können, dass Sie auch in nächster Zukunft nicht weniger sondern eher mehr Mails erhalten und das Risiko eines weiteren Ausfalls nicht eingehen wollen, dann werden Sie über den Erwerb einer Enterprise Version von Exchange nicht umhin kommen. Aber auch diese Bestellung etc. dauert. Sie brauchen jetzt eine Hilfe.
  • >16 Gigabyte mit Exchange 2003 SP2 und neuer
    Setzen Sie die unten angegebenen Registrierungsschlüssel um bis zu 75 GB nutzen zu können.

Schnelle Abhilfe: 17 Gigabyte

(Funktioniert nur mit Exchange 2000 SP3 +  PostSP3Fix (Siehe Service Pack Exchange 2000 Installation). für Exchange 2003 SP2 gibt es durch die Erweiterung auf bis zu 75GB eine andere Lösung. Siehe weiter unten.

Ihr erstes Ziel ist es, dass die Funktion wieder weiter geht. Denn selbst um alte Nachrichten zu löschen oder aufzuräumen, muss der Informationsspeicher wieder laufen. Dies ist auch dann notwendig, wenn Sie zwar auf Exchange Enterprise aktualisieren wollen, aber den Datenträger erst in einigen Tagen bekommen.

Über einen Eintrag in der Registrierung wird die Grenze des Informationsspeichers auf 17 Gigabyte erweitert:

  • 828070 Exchange Server Mailbox Store Does Not Mount When the Mailbox Store Database Reaches the 16-GB Limit
  • 813051 How to Temporarily Increase the Exchange 2000 16-Gigabyte Database Size Limit

Genau genommen müssen Sie einen Registry Key anlegen:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIS
\<Exchange Server Name>\Private-<long hexadecimal string>
\Temporary DB Size Limit Extension:REG_DWORD=1

Dieser Wert wird allerdings nur beim Start des Store eingelesen. Wenn ihr Store also schon "steht", dann ist dies kein Problem. Ich rate aber davon ab, "präventiv" den Eintrag zu setzen, weil dann zwar erst bei 17 GB Schluss ist, aber dies dann ziemlich endgültig ist und nur durch ein update auf Exchange Enterprise oder Exchange 2003 SP2 wieder zu beheben ist.

Nachdem Sie die Datenbank auf 17 GB erweitert haben, sollten Sie trotzdem nicht sofort den Server starten. Wenn das Wachstum nur "normal" erfolgte, dann ist ein Start sinnvoll. Ist die Datenbank aber quasi "schlagartig" gewachsen, dann sollten Sie erst einmal die Warteschlangen und Verbindungen zum Internet trennen, damit ein Wurm oder Virus die gerade gewonnenen 1 GB nicht gleich wieder vollschreibt.

Wenn dann die Datenbank wieder gestartet wurde, sollten die Anwender umgehend anfangen, alte Nachrichten zu archivieren. Sie können das auch zentral über EXMERGE machen, indem Sie Nachrichten nach Kriterien (z.B. alter) in PST-Dateien extrahieren und danach löschen.

Nachdem in der Datenbank dann "Platz" gewonnen wurde, sollten Sie natürlich die Datenbank wieder defragmentieren, damit Sie wieder die 16 GB Grenze aktivieren können. Dies funktioniert aber erst, nachdem die "Online Wartung" einmal gelaufen ist und die gelöschten Datenbankseiten auch wirklich zum "Löschen" markiert sind. Diese Wartung läuft normal nur einmal in der Nacht. Daher müssen Sie über den System Manager den Zeitplan der Wartung (Eigenschaften der Datenbank) ändern.

Es kann dann einige Minuten dauern, bis die Verwaltung startet. Suchen Sie im Eventlog einfach nach der abgebildeten Meldung: (ESE 700) und einige Minuten/Stunden später nach dem Event 1221, welcher den Abschluss kennzeichnet. DANN erst ist eine Exchange Datenbank Defragmentierung mit ESEUTIL sinnvoll möglich.

Für Exchange 5.5 gibt es hierzu leider keine derart schnelle Lösung.

Mittelfristig: Defragmentierung

Nicht erforderlich für Exchange 2003 SP2 und neuer. Siehe weiter unten.

Wenn Sie Exchange 5.5 haben oder Sie sicher sind, dass ihre Datenbank eigentlich ziemlich leer ist und sie eigentlich nur die Datei kleiner machen müssten, dann ist die Defragmentierung der Datenbank die zweite Option. Je nach Datenmenge kann die Defragmentierung aber mehrere Stunden bedeutet und erfolgt "offline". Da ihre Exchange Dienste jedoch eh schon "down" sind, ist dies nicht weiter tragisch..

Die Offline Defragmentierung liest die Datenbank komplett ein und schreibt diese neu ohne "leere Seiten". Dadurch wird die Datenbank sehr viel kleiner.

  • MSXFAQ - Exchange defragmentieren
  • 328804 How to Defragment Exchange Databases
  • 254132 Eseutil /d Defragments the Database and the Streaming File
  • 192185 XADM: How to Defragment with the Eseutil utility (Eseutil.exe)

Die meisten Server haben aber meist nicht mehr als 10% "freien Platz"  (Eventlog gegen 02:00 uhr kontrollieren !), so dass diese Lösung zwar ihre Datenbank wieder starten lässt, aber der Erfolg nicht langfristig ist.

Langfristig: Exchange 2003 SP2 - Standard = 75 GB

Die folgenden Einstellungen gelten nur für Exchange 2003 SP2 und höher.

Die Exchange 2003 Standard Version mit SP2 kann bis zu 75 GB unterstützen. Dies wird durch drei neue Registrierungsschlüssel ermöglicht, sie die manuell setzen müssen. Sie befinden sich alle in folgendem Pfad.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIS\<SERVER NAME>\Private-<GUID der Datenbank>]

Folgende drei Schlüssel können Sie hier anlegen.

  • Datenbanklimit (Database Size Limit in GB)
    Dieser Wert wird in GByte angegeben (z.B.: 75) und bestimmt die maximale Größe der Datenbank. Er gilt sowohl für die Standardversion als auch die Enterpriseversion von Exchange. Es ist damit also möglich, die Enterpriseversion künstlich zu beschränken.

Database Size Limit in GB:DWORD = 0-xxxx

  • Datenbankwarnung
    Dieser neue Wert bestimmt in Prozent, wann der Exchange Store eine Warnung in das Eventlog schreibt. Wenn Sie hier z.B. 10 eintragen, dann wird eine Warnung generiert, wenn nur noch 10% Kapazität frei sind.

Database Size Buffer in Percentage:DWORD = 1-100

  • Zeit der Prüfung
    Dieser Parameter bestimmt den Zeitpunkt, wann der Informationsspeicher den belegten Platz ermittelt und im Eventlog meldet. Default ist 05:00 morgens.
Database Size Check Start Time in Hours From Midnight:DWORD = 1-24

Durch diese seit Exchange 2003 SP2 neue Funktionen ist es nun sowohl in der Standardversion möglich, die Grenze bis zu 75 GB anzuheben als auch in der Enterprise-Version einem explosiven Wachstum von Datenbanken einen Riegel vorzuschieben. In allen Fällen sollten Sie aber mit entsprechenden Programmen eben diese Größen und Warnungen auswerten und melden.

Achtung:
Das Bild hier ändert den Store auf 32hex = 50 GB Obergrenze und nicht auf die maximal möglichen 75GB. Wenn ein Store bislang bei 16-18 GB lief und Sie die Grenze hochsetzen, dann sollten sie NIE 75GB ausschöpfen, damit Sie immer noch ein Stück nachlegen können, wenn die niedrigere Grenze erreicht wird. Achten Sie auch darauf, ob Sie "Dezimal" oder Hexadezimal" die Zahl eingeben.

Die harten Limits des Store sind immer nur die Notbremse, um einen Server nicht vollaufen zu lassen. Besser ist es immer, die Grenzen vorab zu erkennen, ehe die Anwender nicht mehr arbeiten können. Dass die Einstellung greift, sehen Sie beim Start des Informationsspeichers im Eventlog:

Oder in Textform:

Ereignistyp: Informationen
Ereignisquelle: MSExchangeIS Mailbox Store
Ereigniskategorie: Allgemein
Ereigniskennung: 1216
Datum: 09.03.2006
Zeit: 10:14:28
Benutzer: Nicht zutreffend
Computer: SRV01
Beschreibung:
Die Größe des Exchange-Informationsspeichers "Erste Speichergruppe\Postfachspeicher (SRV01)" wurde auf 50 GB beschränkt. Die aktuelle physikalische Größe dieser Datenbank (die EDB-Datei und die STM-Datei) beträgt <1 GB. Wenn die physikalische Größe dieser Datenbank abzüglich dem logischen freien Speicher die Beschränkung von 50 überschreitet, wird die Bereitstellung der Datenbank regelmäßig aufgehoben.

Weitere Informationen finden Sie unter http://www.Microsoft.com/contentredirect.asp.

Übrigens zählt Exchange 2003 die freien Seiten nicht mehr bei der Berechnung der Datenbankgröße mit ein. Wird die Datenbankgröße überschritten wird die Datenbank "offline" genommen. Sie kann aber durch den Administrator wieder gestartet werden, bis Exchange Sie beim nächsten Check wieder offline nimmt.

Sie sollten trotzdem nicht gleich auf 75 GB gehen, sondern vielleicht eine Maximalgröße von 70 GB einstellen. Wenn dann der Server unerwartet diese Grenze erreicht, können Sie noch ein paar GB zugeben und haben etwas länger für entsprechende Gegenmaßnahmen Zeit.

Langfristig: updaten auf Enterprise oder Exchange 2007

Eine langfristige Lösung ist natürlich auch die Aktualisierung des Servers auf die entsprechende Enterprise Version. Die technische Realisierung ist sogar sehr einfach. Im wesentlichen ist es ein "Darüberinstallieren" mit dem Nachinstallieren des gleichen oder neueren Service Packs

  • 170280 XADM: upgrading From Exchange Server Standard Edition to the Enterprise Edition

Viel schwieriger wird es sein, die Kosten für die Lizenz zu rechtfertigen, da es keinen kostengünstigen upgradepfad gibt.

Aber dann sollten Sie nach dem nächsten Start folgende Meldung im Eventlog finden:

Damit ist auch klar, dass auch der Enterprise Server ein aktuell noch theoretisches Limit von 8 TB hat.

Exchange 2007

Microsoft hat mit Exchange 2007 diese Grenzen ebenfalls angehoben. Ein Standardserver kann nun bis zu 5 Datenbanken bereitstellen. Ein Enterprise Server sogar 50 Datenbanken. Dabei gibt es bei der Standardversion einen Standardgrenzwert von 250 GB

50GB Public Store 50GB Mailbox Store

Dieser kann aber über Eintrag in der Registrierung verändert werden:

Ein Server, in dem keine Lizenznummer eingetragen wurden, erlaubt auch nur bis zu 5 Speichergruppen und Datenbanken bis zu 250 GB.

Exchange 2010

Interessanterweise hat auch Exchange 2010 ein "Limit", auch wenn dieses mit 1 TB sicher noch am oberen Bereich liegen dürfte.

Langfristig: Schrumpfen und Begrenzen

Die zweite langfristige Lösung könnte es sein, die Benutzer in ihrer Anwendung zu begrenzen, so dass der Store nicht diese Größe erreicht. Hierzu bietet Exchange sehr viele Möglichkeiten. Angefangen beim Postfachspeicher selbst bis zur Limitierung der übertragenen Nachrichtengröße (Siehe Grenzwerte und Limits mit Exchange). Allerdings wird dies langfristig nur dazu führen, dass die Anwender ihre Mails entweder löschen oder auf dem Dateiserver in eine PST-Datei ablegen. Dies ist aus Sicht des Administrators aber auch der Firmenleitung jedoch eher von Nachteil. In Kürze:

  • PST-Dateien lassen sich nicht sharen
  • PST-Dateien brauchen viel mehr Platz auf einem Dateiserver und belasten das Netzwerk viel stärker.
  • Allein das "Lesen" ändert die Datei, so dass das Dateiserverbackup diese immer mitsichert.
  • PST-Dateien könnten "lokal" liegen und damit überhaupt nicht gesichert werden (Risiko Datenverlust)
  • PST-Dateien können nicht repliziert oder von unterwegs z.B. per OWA gelesen werden.
  • PST-Dateien können nur schwer auf Viren durchsucht werden

Es gibt noch einige weitere Argumente gegen PST-Dateien in einem Netzwerk, welches einen Exchange Server hat.

Weitere Links