Share via


Verwalten der Größe der Transaktionsprotokolldatei

In einigen Fällen kann sich das physische Verkleinern oder Vergrößern der physischen Protokolldatei des Transaktionsprotokolls einer SQL Server-Datenbank als nützlich erweisen. Dieses Thema enthält Informationen zum Überwachen der Größe eines SQL Server-Transaktionsprotokolls, Verkleinern des Transaktionsprotokolls, Hinzufügen oder Vergrößern einer Transaktionsprotokolldatei, Optimieren der Wachstumsrate des tempdb-Transaktionsprotokolls und Steuern der Vergrößerung einer Transaktionsprotokolldatei.

In diesem Thema:

  • Überwachen der Verwendung von Protokollspeicherplatz

  • Verkleinern der Protokolldatei

  • Hinzufügen oder Vergrößern einer Protokolldatei

  • Optimieren der Größe des tempdb-Transaktionsprotokolls

  • Steuern der Vergrößerung einer Transaktionsprotokolldatei

Überwachen der Verwendung von Protokollspeicherplatz

Der Protokollspeicherplatz kann mit DBCC SQLPERF (LOGSPACE) überwacht werden. Dieser Befehl gibt Informationen zum derzeit belegten Protokollspeicherplatz zurück und zeigt an, wann das Transaktionsprotokoll abgeschnitten werden muss. Weitere Informationen finden Sie unter DBCC SQLPERF (Transact-SQL). Informationen zur aktuellen Größe einer Protokolldatei, ihrer maximalen Größe sowie der für die Datei festgelegten automatischen Vergrößerungsoption können Sie auch den Spalten size, max_size und growth für die betreffende Protokolldatei in sys.database_files entnehmen. Weitere Informationen finden Sie unter sys.database_files (Transact-SQL).

Wichtiger HinweisWichtig

Vermeiden Sie das Überlasten des Protokolldatenträgers.

[Nach oben]

Verkleinern der Protokolldatei

Sie müssen zum Reduzieren der physischen Größe einer physischen Protokolldatei die Protokolldatei verkleinern. Dies ist nützlich, wenn Sie wissen, dass eine Transaktionsprotokolldatei nicht verwendeten und nicht benötigten Speicherplatz enthält. Das Verkleinern einer Protokolldatei kann nur stattfinden, wenn die Datenbank online und mindestens eine virtuelle Protokolldatei frei ist. In einigen Fällen ist eine Verkleinerung des Protokolls möglicherweise erst nach der nächsten Protokollkürzung möglich.

HinweisHinweis

Faktoren, wie z. B. lang andauernde Transaktionen, die virtuelle Protokolldateien über einen längeren Zeitraum hinweg aktiv halten, können die Protokollverkleinerung einschränken oder sogar gänzlich verhindern. Informationen zu Faktoren, die die Protokollkürzung verzögern können, finden Sie unter Das Transaktionsprotokoll [SQL Server].

Beim Verkleinern einer Protokolldatei werden virtuelle Protokolldateien entfernt, die keinen Teil des logischen Protokolls enthalten (d. h. inaktive virtuelle Protokolldateien). Beim Verkleinern einer Transaktionsprotokolldatei werden ausreichend viele inaktive, virtuelle Protokolldateien vom Ende der Protokolldatei entfernt, um das Protokoll in etwa auf die Zielgröße zu verkleinern.

So verkleinern Sie eine Protokolldatei (ohne die Datenbankdateien zu verkleinern)

So überwachen Sie Protokollverkleinerungsereignisse

To monitor log space

HinweisHinweis

Für das Verkleinern von Datenbank- und Protokolldateien kann eine automatische Ausführung festgelegt werden. Es wird jedoch von einer automatischen Verkleinerung abgeraten, und die autoshrink-Datenbankeigenschaft ist in den Standardeinstellungen auf FALSE festgelegt. Wenn autoshrink auf TRUE festgelegt ist, wird die Größe einer Datei nur dann automatisch verkleinert, wenn mehr als 25 Prozent des Speicherplatzes ungenutzt sind. Die Datei wird entweder auf eine Größe verkleinert, bei der 25 Prozent der Datei aus nicht verwendetem Speicherplatz bestehen, oder auf die ursprüngliche Dateigröße, je nachdem, welcher Wert größer ist. Informationen zum Ändern der Einstellung der autoshrink-Eigenschaft finden Sie unter Anzeigen oder Ändern der Eigenschaften einer Datenbank – Verwenden der Auto Shrink-Eigenschaft auf der Seite Optionen – oder ALTER DATABASE SET-Optionen (Transact-SQL) – Verwenden der AUTO_SHRINK-Option.

[Nach oben]

Hinzufügen oder Vergrößern einer Protokolldatei

Alternativ können Sie auch Speicherplatz schaffen, indem Sie entweder die vorhandene Protokolldatei vergrößern (sofern der Speicherplatz dies zulässt) oder der Datenbank eine neue Protokolldatei hinzufügen, wofür normalerweise ein anderer Datenträger verwendet wird.

  • Sie können der Datenbank eine Protokolldatei hinzufügen, indem Sie die ADD LOG FILE-Klausel der ALTER DATABASE-Anweisung verwenden. Durch das Hinzufügen einer Protokolldatei kann das Protokoll vergrößert werden.

  • Sie können die Protokolldatei vergrößern, indem Sie die MODIFY FILE-Klausel der ALTER DATABASE-Anweisung verwenden und die SIZE- und MAXSIZE-Syntax angeben. Weitere Informationen finden Sie unter ALTER DATABASE (Transact-SQL).

[Nach oben]

Optimieren der Größe des tempdb-Transaktionsprotokolls

Beim Neustarten einer Serverinstanz wird das Transaktionsprotokoll der tempdb-Datenbank auf seine ursprüngliche Größe (vor einer automatischen Größenerweiterung) zurückgesetzt. Dies kann eine Leistungsminderung des tempdb-Transaktionsprotokolls zur Folge haben. Der damit verbundene Verwaltungsaufwand lässt sich vermeiden, indem Sie nach dem Starten oder erneuten Starten der Serverinstanz die Größe des tempdb-Transaktionsprotokolls erhöhen. Weitere Informationen finden Sie unter tempdb-Datenbank.

[Nach oben]

Steuern der Vergrößerung einer Transaktionsprotokolldatei

Sie können die ALTER DATABASE (Transact-SQL)-Anweisung verwenden, um die Vergrößerung einer Transaktionsprotokolldatei zu verwalten. Beachten Sie Folgendes:

  • Verwenden Sie die Option SIZE, um die aktuelle Dateigröße in KB-, MB-, GB- und TB-Einheiten zu ändern.

  • Verwenden Sie die Option FILEGROWTH, um die Vergrößerungsschrittweite zu ändern. Der Wert 0 gibt an, dass die automatische Vergrößerung deaktiviert und kein zusätzlicher Speicherplatz zulässig ist. Die Einstellung der kleinen automatischen Vergrößerungsschrittweite einer Protokolldatei kann ebenfalls die Leistung beeinträchtigen. Die Schrittweite für die Dateivergrößerung sollte für eine Protokolldatei stets groß genug sein, um häufige Erweiterungen zu vermeiden. Die standardmäßige Vergrößerungsschrittweite von 10 Prozent ist hierfür im Allgemeinen gut geeignet.

    Informationen zum Ändern der Eigenschaft für die Dateivergrößerung in einer Protokolldatei finden Sie unter ALTER DATABASE (Transact-SQL).

  • Verwenden Sie die Option MAXSIZE, um die maximale Größe einer Protokolldatei in KB-, MB-, GB- und TB-Einheiten zu steuern oder die Vergrößerung auf UNLIMITED festzulegen.

[Nach oben]

Siehe auch

Verweis

BACKUP (Transact-SQL)

Konzepte

Problembehandlung bei vollen Transaktionsprotokollen (SQL Server-Fehler 9002)