Abschneiden des Transaktionsprotokolls für Exchange-Server

Über Microsoft Exchange-Server-Protokolle

Bevor eine Transaktion auf eine Datenbankdatei ausgeführt wird, protokolliert Exchange diese in eine Transaktionsprotokolldatei. Um zu verfolgen, welche der protokollierten Transaktionen auf die Datenbank angewendet wurden, verwendet Exchange Prüfpunktdateien. Sobald die Transaktionen auf die Datenbank angewendet und per Prüfpunktdateien verfolgt wurden, werden die Protokolldateien nicht mehr länger von der Datenbank benötigt.

Werden die Protokolldateien nicht gelöscht, können diese möglicherweise den kompletten verfügbaren Speicherplatz belegen – und die Exchange-Datenbanken werden offline genommen, bis die Protokolldateien vom Laufwerk entfernt wurden. Die Verwendung von Umlaufprotokollierung ist nicht die bewährteste Methode für eine Produktionsumgebung. Bei aktivierter Umlaufprotokollierung überschreibt Exchange die erste Protokolldatei, nachdem deren Daten auf die Datenbank angewendet wurden – wodurch Sie nur Daten bis zum letzten Backup wiederherstellen können.

Wir empfehlen, dass Sie die Protokolldateien nach dem Backup eines Exchange-Servers löschen, weil Protokolldateien zusammen mit anderen Dateien gesichert werden. Sie können die Datenbank nach einer Wiederherstellung daher vorwärts und rückwärts 'rollen'.

Weitere Informationen über die Transaktionsprotokollierung finden Sie unter http://technet.microsoft.com/de-de/library/bb331958.aspx.

Protokollabschneidung unter Verwendung der Option VSS-Voll-Backup aktivieren

Die einfachste Methode der Protokollabschneidung ist die Verwendung der Backup-Option VSS-Voll-Backup aktivieren (Optionen –> Standardoptionen für Backup und Recovery –> Standardoptionen für Backup –> Volume Shadow Copy Service –> VSS-Voll-Backup aktivieren). Sie wird in den meisten Fällen empfohlen.

Sollte eine Aktivierung dieser Option unerwünscht sein (weil Sie beispielsweise die Protokolle einer anderen VSS-kompatiblen Anwendung bewahren müssen), dann folgen Sie den unteren Empfehlungen.

Abschneiden von Offline-Datenbanken protokollieren

Nach einem normalen Herunterfahren wird der Datenbankzustand als konsistent angesehen und die Datenbankdateien sind eigenständig (self-contained). Das bedeutet, dass Sie alle Protokolldateien der Datenbank oder Speichergruppe löschen können.

So löschen Sie Transaktionsprotokolldateien:

  1. Trennen Sie die Datenbank (bei Exchange 2010) oder alle Datenbanken der Speichergruppe (bei Exchange 2003/2007). Zu weiteren Informationen, siehe:
  2. Löschen Sie alle Protokolldateien der Datenbank oder der Speichergruppe.
  3. Mounten Sie die getrennte(n) Datenbank oder Datenbanken.

    Zu weiteren Informationen, siehe:

Abschneiden von Online-Datenbanken protokollieren

Diese Methode ist gut für Datenbanken, die permanent verwendet werden und daher nicht getrennt werden können. Wenn sich eine Datenbank in Verwendung befindet, können Sie nur solche Transaktionsprotokolldateien sichern löschen, deren Daten auf die Datenbank angewendet wurden. Löschen Sie keine Protokolldateien, deren Daten nicht auf die Datenbank angewendet wurden; sie sind essentiell, um die Datenbank-Konsistenz bei unerwartetem Herunterfahren wiederherstellen zu können.

So löschen Sie angewendete Transaktionsprotokolle

  1. Bestimmen Sie mit dem Tool Eseutil, welche Protokolle auf die Datenbank angewendet wurden:
    1. Führen Sie den Befehl eseutil /mk <Pfad zur Prüfpunktdatei> aus, wobei <Pfad zur Prüfpunktdatei> der Pfad zu der Prüfpunktdatei für die benötigte Datenbank oder Speichergruppe ist.
    2. Überprüfen Sie das Feld Checkpoint in der Anzeige. Sie sollten etwas sehen, das etwa so aussieht:

      CheckPoint: (0x60B, 7DF, 1C9)

    Die erste Zahl 0x60B ist die hexadezimale Protokollgenerierungsnummer der aktuellen Protokolldatei. Das bedeutet, dass alle Protokolldateien mit kleineren Zahlen auf die Datenbank angewendet wurden.

  2. Löschen Sie alle Protokolldateien, deren Zahlen kleiner sind als die Zahl der aktuellen Protokolldatei. Sie können beispielsweise die Dateien Enn0000060A.log, Enn00000609.log (und niedrigere Dateien) sicher löschen.

Abschneiden nach einem Backup protokollieren

Sie können die obere Prozedur des Abschneidens mit einem Skript automatisieren. Falls Sie das Skript zu den 'Nach-Backup'-Befehlen hinzufügen, werden die Protokolle direkt nach einem Backup abgeschnitten.

Bei dieser Methode wird angenommen, dass Sie über Kenntnisse zur Erstellung/Nutzung von Skripten verfügen und sich mit dem Befehlszeilenwerkzeug von Acronis Backup auskennen (acrocmd). Weitere Informationen zu acrocmd finden Sie in der Befehlszeilen-Referenz.

Das Skript sollte folgende Schritte enthalten:

  1. Mounten Sie die Volumes, die die benötigten Datenbankdateien enthalten, durch Verwendung des Befehls mount.

    Template:

    acrocmd mount --loc=<Pfad> --credentials=<Benutzername>,<password> --arc=<Archivname> --volume=<Volume-Nummern> --letter=<Laufwerksbuchstaben>

    Beispiel:

    acrocmd mount --loc=\\bkpsrv\backups --credentials=user1,pass1 --arc=my_arc --volume=1-1 --letter=Z

  2. Bestimmen Sie in den gemounteten Volumes mit dem Tool Eseutil, welche Protokolle auf die Datenbank angewendet wurden. Diese Prozedur ist im Schritt 1 des oberen Abschnitts 'Abschneiden von Online-Datenbanken protokollieren' beschrieben.
  3. Löschen Sie in der entsprechenden Online-Datenbank oder Speichergruppe alle Protokolldateien, deren Zahlen niedriger sind, als die Zahl der aktuellen Protokolldatei im Backup.
  4. Trennen Sie die gemounteten Volumes durch Verwendung des Befehls umount.