ESE 428 (0xfffff8f0): Nicht ausreichend freier Speicherplatz auf dem Transaktionsprotokolllaufwerk

[Dieses Thema beschäftigt sich mit einem besonderen Problem, das von Exchange Server Analyzer angezeigt wird. Die Problembehandlung sollte nur auf Systeme angewendet werden, auf denen Exchange Server Analyzer ausgeführt wird und dieses spezielle Problem auftritt. Exchange Server Analyzer (als kostenloser Download verfügbar) trägt remote Konfigurationsdaten von allen Servern in der Topologie zusammen und analysiert diese Daten automatisch. Der sich ergebende Bericht enthält ausführliche Informationen zu wichtigen Konfigurationskonflikten, möglichen Problemen und Produkteinstellungen, die nicht den Standardeinstellungen entsprechen. Indem Sie diese Empfehlungen beachten, können Sie bessere Leistung, Skalierbarkeit, Zuverlässigkeit und Betriebszeit erzielen. Weitere Informationen zum Tool sowie zum Download der aktuellsten Version finden Sie unter "Microsoft Exchange Analyzers" unter der Adresse https://go.microsoft.com/fwlink/?linkid=34707.]  

Letztes Änderungsdatum des Themas: 2007-04-02

Das Microsoft® Exchange-Tool Datenbank-Problembehandlung hat im Protokoll Anwendung ein oder mehrere ESE 428-Ereignisse festgestellt. Dieses Ereignis weist darauf hin, dass nicht ausreichend freier Speicherplatz auf dem Transaktionsprotokolllaufwerk vorliegt. Wird dieser Fehler generiert, kann Exchange Server keine neue Transaktionsprotokolldatei erstellen. Dadurch werden alle Datenbanken in der betroffenen Speichergruppe offline geschaltet, weil Aktualisierungen an Datenbanken im Transaktionsprotokoll gespeichert werden müssen.

Erklärung

Exchange Server stellt zwei Mechanismen bereit, um zu verhindern, dass sich das Transaktionsprotokolllaufwerk füllt:

  • Umlaufprotokollierung. Transaktionsprotokolle werden automatisch gelöscht, nachdem der Datenbankprüfpunkt sie passiert hat. Der für Transaktionsprotokolldateien verwendete Festplattenspeicher liegt in den meisten Fällen unter 50 MB. Während der Sicherung wird das Entfernen der Transaktionsprotokolle möglicherweise so lange ausgesetzt, bis die Sicherung abgeschlossen ist.
    noteAnmerkung:
    Standardmäßig ist die Umlaufprotokollierung in Microsoft Exchange 2000 Server und höheren Versionen nicht aktiviert.
  • Speichergruppensicherung. Exchange Server entfernt überschüssige Protokolle nach der Durchführung einer vollständigen oder inkrementellen Onlinesicherung aller Datenbanken in einer Speichergruppe mit einer Sicherungsmethode, die den Volumeschattenkopie-Dienst (Volume Shadow Copy, VSS) oder APIs für die Streamingonlinesicherung für Exchange Server implementiert.

Wenn die Umlaufprotokollierung nicht aktiviert ist und eine der folgenden Bedingungen vorliegt, erhöht sich die Anzahl der Transaktionsprotokolldateien, bis der Speicherplatz auf dem Festplattenlaufwerk erschöpft ist:

  • Das Sicherungsprogramm entfernt die Transaktionsprotokolldateien nicht.
  • Das Sicherungsprogramm wurde unterbrochen.
  • Die Transaktionsprotokolldateien werden nicht mit einer anderen Methode bereinigt.

Gelegentlich müssen Sie ggf. Transaktionsprotokolldateien manuell entfernen, wenn der Speicherplatz auf der Festplatte nicht ausreichend ist. Möglicherweise müssen Sie Transaktionsprotokolldateien auch manuell entfernen, wenn Sie erwarten, dass der Speicherplatz auf der Festplatte erschöpft sein wird, bevor Sie eine vollständige oder inkrementelle Onlinesicherung aller Datenbanken in einer bestimmten Speichergruppe durchführen können. Wenn Sie Protokolle entfernen, die noch vor einem Datenbankprüfpunkt liegen, und die Datenbank dann mit einem Fehler beendet wird, kann die Datenbank erst nach der Wiederherstellung der erforderlichen Protokolle wieder bereitgestellt werden. Daher müssen Sie vor dem manuellen Entfernen von Exchange Server-Transaktionsprotokolldateien erst überprüfen, welche Protokolle ohne Bedenken entfernt werden können.

Der Fehler kann auch als JET_errDiskFull oder Fehlercode 0xfffff8f0 gemeldet werden. Dieser Fehler tritt in den folgenden Versionen von Exchange Server auf:

  • Microsoft Exchange Server 2007
  • Microsoft Exchange Server 2003
  • Microsoft Exchange 2000 Server

Benutzeraktion

Wählen Sie zum Beheben des Fehlers eine der folgenden Lösungen aus:

  • Führen Sie das Tool Database Recovery Management aus. In Microsoft Exchange Server 2007 ist das Tool unter den Datenbankwiederherstellungstools der Toolbox in der Exchange-Verwaltungskonsole aufgeführt. Exchange Server Analyzer kann automatisch die Protokolldateien ermitteln, deren Entfernung unbedenklich ist, und kopiert sie in einen Sicherungsspeicherort. Es empfiehlt sich dringend, Exchange Server Analyzer zum Verschieben von Protokolldateien zu verwenden.
    noteAnmerkung:
    Exchange Server Analyzer funktioniert in Exchange 2007 nicht, wenn für die Speichergruppe, in der die Datenbank enthalten ist, die fortlaufende Clusterreplikation (Cluster Continuous Replication, CCR) aktiviert ist.
  • Überprüfen Sie die Werte von State und Log Required in jedem Datenbankheader, um zu ermitteln, welche Transaktionsprotokolldateien ohne Bedenken manuell entfernt werden können.
    noteAnmerkung:
    Entfernen einer Transaktionsprotokolldatei bedeutet in diesem Artikel, dass die Transaktionsprotokolldatei an einen anderen Speicherort verschoben wird, wo sie dann gesichert, gespeichert oder gelöscht werden kann. Welche Aktion ausgeführt wird, hängt von Ihren Anforderungen an. Löschen einer Transaktionsprotokolldatei bedeutet in diesem Artikel, dass die Transaktionsprotokolldatei endgültig entfernt wird und nicht mehr gesichert oder wiederhergestellt werden kann.

Führen Sie die folgenden ausführlichen Anweisungen aus, um zu ermitteln, welche Transaktionsprotokolldateien ohne Bedenken manuell entfernt werden können.

Überpüfen des Headers der Datenbank und Entfernen überflüssiger Protokolldateien

  1. Heben Sie die Bereitstellung der Datenbank auf, deren Header Sie überprüfen möchten.

  2. Klicken Sie auf Start, anschließend auf Ausführen, und geben Sie dann cmd ein, um das Eingabeaufforderungsfenster zu öffnen:

  3. Wechseln Sie an der Eingabeaufforderung zum Verzeichnispfad, unter dem sich die Datenbankdatei befindet.

    noteAnmerkung:
    Exchange 2000 Server und Exchange Server 2003: Um den Pfad und den Dateinamen der EDB- und STM-Dateien für eine Datenbank zu ermitteln, verwenden Sie Exchange-System-Manager, und zeigen Sie die Registerkarte Datenbank im Dialogfeld Eigenschaften für jedes Datenbankobjekt an. Exchange Server 2007: Um den Pfad und den Dateinamen der Datenbankdatei zu ermitteln, erweitern Sie die Exchange-Verwaltungskonsole unter Serverkonfiguration, klicken Sie auf Mailbox, und zeigen Sie die Registerkarte Datenbankverwaltung an.
  4. Geben Sie den folgenden Eseutil-Befehl zusammen mit dem Schalter /MH an der Eingabeaufforderung ein:

    "eseutil /MH databasefilename.edb"
    
    noteAnmerkung:
    In der Syntax gibt databasefilename den Namen der Datenbank an, die Sie überprüfen möchten.
  5. Überprüfen Sie die Werte von State und Log Required in den angezeigten Headerinformationen.

    Der Wert von State liefert die folgenden Informationen darüber, ob die Datenbank ordnungsgemäß abgekoppelt wurde:

    • Wenn die Datenbank ordnungsgemäß abgekoppelt wurde, lautet der Wert von State entweder "Ordnungsgemäß beendet" oder "Konsistent". Dieser Wert hängt von der ausgeführten Version von Exchange Server ab. Sie können alle Transaktionsprotokolldateien außer der aktuellen Transaktionsprotokolldatei entfernen.
      noteAnmerkung:
      Wenn sich alle Datenbanken im Status "Ordnungsgemäß beendet" befinden und Sie die aktuelle Protokolldatei entfernen, wird die Protokolldateisequenz zurückgesetzt. Datenbanken können weiterhin gestartet werden. Durch das Zurücksetzen der Transaktionsprotokolldateien kann jedoch kein Rollforward für die Datenbank aus einer früheren Sicherung mehr erfolgen.
    • Wenn die Datenbank nicht ordnungsgemäß abgekoppelt wurde, lautet der Wert für State entweder "Nicht ordnungsgemäß beendet" oder "Inkonsistent". Überprüfen Sie anhand des Feldes Log Required im Datenbankheader, welche Transaktionsprotokolldateien entfernt werden können.
      noteAnmerkung:
      Wenn die Datenbank sich im Status "Nicht ordnungsgemäß beendet" oder "Inkonsistent" befindet, enthalten einige der vorhandenen Transaktionsprotokolldateien ausstehende Transaktionen, die von der Datenbank benötigt werden. Wenn Sie die Transaktionsprotokolldateien in dieser Situation entfernen, kann die Datenbank erst wieder gestartet werden, nachdem sie aus einer Sicherung wiederhergestellt wurde. Alternativ dazu können Sie die Datenbank mithilfe der Befehle Eseutil und Isinteg reparieren.
      Sie sollten die Werte von **Log Required** für jede Datenbank in einer Speichergruppe überprüfen, bevor Sie Protokolle für diese Speichergruppe entfernen. Im Feld **Log Required** ist ein Bereich nummerierter Protokolldateien angegeben, die zum Starten der Datenbank erforderlich sind. Lautet der Bereich "0 - 0", sind keine Protokolldateien zum Starten der Datenbank erforderlich. Dies zeigt an, dass die Datenbank sich im Zustand "Ordnungsgemäß beendet" oder "Konsistent" befindet. Wenn Protokolldateien vorliegen, die älter als das Prüfpunktprotokoll sind, können Sie diese Protokolldateien (aber nicht das Prüfpunktprotokoll) entfernen. Wenn Sie eine Version von Exchange Server ausführen, die älter als Exchange Server 2003 Service Pack 1 (SP1) ist, müssen Sie den im Feld **Log Required** angegebenen Bereich in Hexadezimalwerte konvertieren. Lautet der Wert von **Log Required** beispielsweise "28217 – 28221", benötigt die Datenbank die Protokolle von 06E39 bis 06E3D. In Exchange 2003 SP1 wurde das Feld **Log Required** erweitert und gibt sowohl die Dezimal- als auch die Hexadezimalwerte an.
      noteAnmerkung:
      Mithilfe des wissenschaftlichen Modus im Windows-Rechner können Sie die Werte von dezimal in hexadezimal konvertieren. Starten Sie den Rechner, und klicken Sie dann im Menü Ansicht auf Wissenschaftlich. Wählen Sie eine Dezimalzahl aus, und klicken Sie anschließend auf Hex.
      Da in Exchange 2000 und Exchange 2003 bis zu vier Speichergruppen mit jeweils einem eigenen Satz Protokolldateien vorliegen können, enthalten die Transaktionsprotokoll-Dateinamen nicht den Präfix "Edb". In Exchange 2000 und Exchange 2003 wird der Präfix "Edb" ersetzt durch "E00", "E01", "E02" oder "E03". Bei Speichergruppen für die Wiederherstellung wird der Präfix "Edb" ersetzt durch "R00". Der Dateinamenpräfix der Transaktionsprotokolle wird im Exchange-System-Manager auf der Registerkarte **Allgemein** im Dialogfeld **Eigenschaften** für das jeweilige Speichergruppenobjekt angezeigt. Lautet der Speichergruppenpräfix beispielsweise "E01" und der **Log Required**-Eintrag "28217 – 28221 (0x06E39 – 0x06E3D)", werden die Protokolle **E0106E39.log** bis **E0106E3D.log** benötigt.
  6. Sie können daher alle nummerierten Protokolldateien ohne Bedenken entfernen, deren Nummer kleiner ist als der niedrigste Eintrag in den Log Required-Feldern für alle Datenbanken der Speichergruppe.

    noteAnmerkung:
    Denken Sie daran, die Protokolldateien zu verschieben und nicht zu löschen.
    noteAnmerkung:
    Dabei sollten Sie die jüngste Transaktionsprotokolldatei in keinem Fall entfernen. Dies ist die Protokolldatei mit dem aktuellsten Zeitstempel, die noch keine Sequenznummer im Dateinamen trägt. Selbst wenn Sie ermittelt haben, dass es unbedenklich ist, diese Datei zu entfernen, verzichten Sie darauf, damit die Protokolldateisequenz nicht auf "0" zurückgesetzt wird. Wenn Sie die Protokolldateisequenz zurücksetzen, hat dies Auswirkungen auf die Sicherungszyklen. Sie können möglicherweise kein Rollforward der Datenbank aus einer vor dem Zurücksetzen erzeugten Sicherung vornehmen.