Der Einsatz von ESEUTIL und ESEFILE

Achtung:  All diese Programme arbeiten sehr tief auf der Datenbank. Sie müssen sicherstellen, dass das Programm die gleiche oder aktuellere Version der Datenbank trägt. So wurde das Datenbankformat mit Exchange 2003 SP1 geändert (ECC Prüfsumme). Eine ältere Version von ESEUTIL wird eine solche Datenbank als korrupt ansehen und im schlimmsten Fall erst recht unbrauchbar machen.

Mit dem Programm ExDRA gibt es einen einfach und relativ gefahrlos zu bedienenden Assistenten bei Problemen mit der Datenbank. Nutzen Sie daher zuerst ExDRA, ehe Sie die hier beschriebenen Tools starten.

ESEUTIL

Dieses Programm ist Bestandteil von Exchange 5.5 und Exchange 2000 und dient dazu, eine bestehende Datenbank zu prüfen, zu reparieren, zu defragmentieren und vieles mehr. Beim Aufruf von ESEUTIL ohne Parameter wird eine Hilfe ausgegeben. ESEUTIL liegt im BIN-Verzeichnis des Exchange Programmpfades und arbeitet zeichenorientiert.

ESEUTIL arbeitet auf einer recht tiefen Ebene (seitenorientiert) der Datenbank und ist ein letztes Mittel, wenn alle andere versagen.

Ich verzichte hier auf eine Beschreibung und verweise explizit auf die Dokumentation von Exchange und rate niemanden dieses Programm ohne triftigen Grund aufzurufen. Lassen sie die Finger von ESEUTIL, wenn ihr Exchange funktioniert. Dann bleibt es auch am Leben. Bei einigen Aktionen braucht ESEUTIL nicht nur viel Hauptspeicher, sondern auch sehr viel Platz auf der Festplatte. Die CPU-Last ist ebenso sehr hoch, d.h. auf Servern die nicht "nur" Exchange machen, kann es sinnvoll sein, den Aufruf in die Abendstunden zu verlegen. Die Laufzeiten können je nach Größe der Datenbank mehrere Stunden betragen.

Ehe Sie irgend etwas reparieren sollten Sie eine Sicherheitskopie der EDB-Datei ziehen und mit ESEUTIL /MH Datei den Status der Datenbank prüfen. Einsatz auf eigenes Risiko !!!.

Sehr lesenswert ist dazu auch der folgenden Artikel:

Er beschreibt gut, wie die Datenbank repariert werden kann und in welcher Reihenfolge welche Schritte durchgeführt werden sollten.

Beispiel "Check"

Mit ESEUTIL können die Datenbanken einigen intensiven Tests unterzogen werden. Im Regelfall sind diese Tests nicht notwendig, da Exchange außerordentlich robust ist und Fehler im Speichersubsystem durch Prüfsummen schon anhand der -1018 Fehler erkannt werden. Sollten Sie aber unerklärliche Effekte bei der Nutzung von Exchange haben oder Meldungen im Eventlog auf Fehler der Struktur hinweisen, dann könnten Sie mit ESEUTIL genauer nachschauen. Allerdings sollten Sie sich schon etwas mit Exchange auskennen um die Meldungen richtig zu interpretieren.

Beispiel zu /MH  (Header auslesen)

Diesen Test können Sie recht einfach mit ihrer eigenen Datenbank machen. Dismounten Sie bei Exchange 2000 die entsprechende Datenbank oder stoppen Sie den Exchange Informationsspeicher. Danach ist die Datenbank nicht mehr gesperrt und sie können sich den Header mit ESEUTIL untersuchen. Die gleiche Funktion gibt es auch für die Transaktionsprotokolle und die Checkpointdatei. Diese Ausgabe ist von Exchange 2000, aber die Exchange 5.5 Funktion ist vergleichbar. Sie funktioniert auch, wenn die Datenbank nicht gestartet werden kann und ist damit ein unverzichtbares Hilfsmittel für die Restaurierung und bei der Fehlersuche und Recovery-Szenarien.

Meine Eingaben sind blau, die Antworten des Systems rot, Anmerkungen grün

C:\>D:\bkoffice\Exchsrvr\BIN\ESEUTIL.EXE /MH E:\SG2\DB1.EDB
Microsoft(R) Exchange Server(TM) Database Utilities Version 6.0
Copyright (C) Microsoft Corporation 1991-2000. All Rights Reserved.

Initiating FILE DUMP mode...
Database: E:\SG2\DB1.EDB

File Type: Database
Format ulMagic: 0x89abcdef
Engine ulMagic: 0x89abcdef
Format ulVersion: 0x620,9
Engine ulVersion: 0x620,9
DB Signature: Create time:10/23/2001 10:36:14 Rand:60134109 Computer:
cbDbPage: 4096
dbtime: 5690074 (0-5690074)
State: Consistent
<-- Hier sehen sie, dass die DB sauber beendet wurde
Log Required: 0-0 ( 00/00/1900 00:00:00 )
<-- Keine Logs notwendig
 Hier stehen sonst die Nummern der notwendigen Logdateien

Streaming File: Yes
Shadowed: Yes
Last Objid: 540
Scrub Dbtime: 0 (0-0)
Scrub Date: 00/00/1900 00:00:00
Repair Count: 0
Repair Date: 00/00/1900 00:00:00
Last Consistent: (0xEA1,630,B5) 10/23/2001 17:58:33
Last Attach: (0xEA1,199,155) 10/23/2001 17:57:37
Last Detach: (0xEA1,630,B5) 10/23/2001 17:58:33
<-- Dismount Datum
Dbid: 4
Log Signature: Create time:10/23/2001 10:34:04 Rand:59999323 Computer:
Hier sehen sie die Signatur der dazugehörigen Logdateien
OS Version: (5.0.2195 SP 2)
<-- Server hatte Win2000 SP2

Previous Full Backup:
Log Gen: 868-978 (0x364-0x3d2)
Mark: (0x366,18,1E)
Mark: 10/23/2001 13:28:10
<-- Das Datum des vorletzten Vollbackups

Current Incremental Backup:
Log Gen: 0-0 (0x0-0x0)
Mark: (0x0,0,0)
Mark: 00/00/1900 00:00:00
<-- Noch kein Inkrementelles Backup

Current Full Backup:
Log Gen: 0-0 (0x0-0x0)
Mark: (0x0,0,0)
Mark: 00/00/1900 00:00:00
<-- Aktuelles Backup, noch nie gelaufen

Current snapshot backup:
Log Gen: 0-0 (0x0-0x0)
Mark: (0x0,0,0)
Mark: 00/00/1900 00:00:00
<-- Mal sehen welche Software das nutzt

cpgUpgrade55Format: 0
cpgUpgradeFreePages: 0
cpgUpgradeSpaceMapPages: 0

Operation completed successfully in 1.62 seconds.

Weitere ESE Funktionen

Mit ESEUTIL können aber auch umfangreichere Aktionen ausgelöst werden, die aber nicht in wenigen Worten zu beschreiben sind:

Aber diese Funktionen beschreibe ich hier absichtlich nicht ausführlich, das damit auch sehr schnell die komplette Datenbank zerstört wird. Wenn Sie überzeugt sind, dass ihnen nur diese Optionen weiter helfen, dann sollten Sie ausführlich die zu ESEUTIL gehörende Dokumentation und TechNet Artikel lesen.

Seit Exchange 2000 gibt es auch eine weitere Funktion mit der Option "/createstm". Sie dient dazu beim Verlust der STM-Datei diese neu anzulegen. Allerdings gehen damit sicher Inhalte verloren und ist nur ein Notfall. Selbst dann sollte überlegt werden, die Inhalte zu exportieren und eine neue Datenbank anzulegen.

ESEFILE

Diese Programm ist im Exchange Ressource Kit und erlaubt das Lesen einer Datenbank um Fehler in der Prüfsummer zu erkennen (Siehe Exchange -1018 Fehler Ursache und Lösung).

Nützlich ist dieses Programm, wenn sie ein Offline Backup durchführen oder andere Methoden verwenden und einfach nur sicher sein wollen, dass alle die Prüfsummen der einzelnen Datenblöcken in der Datenbankdatei korrekt sind.

Bei Exchange 2000 ist diese Programm in ESEUTIL mit der Option "/k" integriert.

Weitere Links

Keywords:ESE ESEUTIL Defragmentieren Defrag Reparatur -1018 ESEFILE ISINTEG