Artikel-ID: 873235 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Alles erweitern | Alles schließen

Auf dieser Seite

EINFÜHRUNG

In diesem Artikel sind die Schritte beschrieben, die Sie ausführen müssen, wenn die Transaktionsprotokolle zu groß werden. Vollständige Transaktionsprotokolle können Ihre Microsoft SQL Server-Datenbank unbrauchbar machen. In diesem Artikel wird beschrieben, wie Sie die Transaktionsprotokolle kürzen und verkleinern und wie Sie verhindern, dass sie unerwarteterweise größer werden.

Weitere Informationen

Reduzieren der Größe des Transaktionsprotokolls

Um das Problem voller Transaktionsprotokolle zu beheben, müssen Sie ihre Größe reduzieren. Hierzu müssen Sie die inaktiven Transaktionen in Ihrem Transaktionsprotokoll abschneiden und die Transaktionsprotokolldatei verkleinern.

Hinweis Die Transaktionsprotokolle sind für den Erhalt der Transaktionsintegrität der Datenbank sehr wichtig. Sie dürfen deshalb die Transaktionsprotokolldateien nicht löschen, selbst nachdem Sie eine Sicherungskopie der Datenbank und der Transaktionsprotokolle erstellt haben.


Weitere Informationen zum Reduzieren der Größe der Transaktionsprotokolle finden Sie auf der folgenden Microsoft-Website:
Verkleinern des Transaktionsprotokolls für SQL Server 2000
Verkleinern des Transaktionsprotokolls für SQL Server 2005

Abschneiden der inaktiven Transaktionen in Ihrem Transaktionsprotokoll

Wenn die Transaktionsprotokolle voll sind, müssen Sie die Transaktionsprotokolldatei sofort sichern. Während die Sicherungskopie der Transaktionsprotokolldateien erstellt wird, schneidet SQL Server automatisch den inaktiven Teil des Transaktionsprotokolls ab. Der inaktive Teil der Transaktionsprotokolldatei enthält die abgeschlossenen Transaktionen, und deshalb wird die Transaktionsprotokolldatei während des Wiederherstellungsprozesses nicht mehr von SQL Server verwendet. SQL Server verwendet diesen abgeschnittenen, inaktiven Bereich im Transaktionsprotokoll, anstatt zuzulassen, dass das Transaktionsprotokoll weiter anwächst und mehr Speicher verbraucht.

Weitere Informationen über die Punkte, die Sie beachten müssen, wenn Sie eine Sicherungskopie der Transaktionsprotokolle erstellen, und die Dinge, auf die Sie bei der Wiederherstellung der Sicherungskopien der Transaktionsprotokolle achten müssen, erhalten Sie unter folgenden Themen der Onlinedokumentation zu SQL Server:
  • Transaktionsprotokollsicherungen
  • Sicherungs- und Wiederherstellungsvorgänge
Sie können die inaktiven Transaktionen auch aus einer Transaktionsprotokolldatei löschen, indem Sie die Truncate-Methode verwenden. Zusätzliche Informationen über das Abschneiden des Transaktionsprotokolls finden Sie unter dem Thema "Abschneiden des Transaktionsprotokolls" in der Onlinedokumentation zu SQL Server.

Wichtig Nachdem Sie die Transaktionsprotokolldateien manuell abgeschnitten haben, müssen Sie eine vollständige Sicherungskopie der Datenbank erstellen, bevor Sie eine Sicherungskopie des Transaktionsprotokolls erstellen.

Weitere Informationen zu Problemen, die nach dem Abschneiden der Transaktionsprotokolldateien auftreten können, finden Sie im folgenden Artikel der Microsoft Knowledge Base:
62866 Gründe, warum das SQL-Transaktionsprotokoll nicht abgeschnitten wird

Verkleinern der Transaktionsprotokolldatei

Die Größer der Protokolldatei lässt sich durch den Sicherungsvorgang oder die Truncate-Methode nicht reduzieren. Um die Größe der Transaktionsprotokolldatei zu reduzieren, müssen Sie die Transaktionsprotokolldatei verkleinern. Um eine Transaktionsprotokolldatei auf die erforderliche Größe zu verkleinern und nicht verwendete Seiten zu entfernen, müssen Sie den DBCC SHRINKFILE-Vorgang verwenden. Mit der Transact-SQL-Anweisung DBCC SHRINKFILE kann nur der inaktive Teil innerhalb der Protokolldatei verkleinert werden.

Hinweis Mit der Transact-SQL-Anweisung "DBCC SHRINKFILE" kann nicht das Protokoll verkürzt und nur der verwendete Bereich innerhalb der Protokolldatei alleine verkleinert werden.

Weitere Informationen über das Verkleinern der Transaktionsprotokolldateien finden Sie unter folgenden Themen in der Onlinedokumentation zu SQL Server:
  • Verkleinern des Transaktionsprotokolls
  • DBCC SHRINKFILE
Weitere Informationen über das Verkleinern der Transaktionsprotokolldateien in SQL Server 2000 finden Sie in folgendem Artikel der Microsoft Knowledge Base:
272318 INF: Verkleinern des Transaktionsprotokolls in SQL Server 2000 mit DBCC SHRINKFILE
Weitere Informationen zu den Problemen, die nach dem Verkleinern der Transaktionsprotokolldateien auftreten können, finden Sie in folgenden Artikeln der Microsoft Knowledge Base:
814574 PRB: Fehlermeldung: "Protokolldatei kann nicht verkleinert werden ..." tritt beim Verkleinern der Transaktionsprotokolldatei auf
324432 PRB: Die Befehle "DBCC SHRINKFILE" und "SHRINKDATABASE" funktionieren möglicherweise aufgrund von selten aufgefülltem Text, Ntext oder Images-Spalte nicht

Verhindern, dass Transaktionsprotokolldateien unerwarteterweise größer werden

Wenden Sie eine der folgenden Methoden an, um zu verhindern, dass die Transaktionsprotokolldateien unerwarteterweise größer werden:
  • Legen Sie die Größe der Transaktionsprotokolldateien auf einen hohen Wert fest, um die automatische Erweiterung der Transaktionsprotokolldateien zu verhindern.
  • Konfigurieren Sie die automatische Erweiterung der Transaktionsprotokolldateien unter Verwendung von Speichereinheiten anstelle eines Prozentsatzes, nachdem Sie die optimale Speichergröße sorgfältig ausgewertet haben.

    Weitere Informationen über Probleme, die bei der Konfiguration der Autogrow-Option zu beachten sind, finden Sie im folgenden Artikel der Microsoft Knowledge Base:
    315512 Überlegungen zur Autogrow und Autoshrink-Konfiguration
  • Ändern Sie das Wiederherstellungsmodell. Wenn ein Notfall oder die Beschädigung von Daten eintritt, müssen Sie Ihre Datenbank wiederherstellen, sodass die Datenkonsistenz und die Transaktionsintegrität der Datenbank gewährt ist. Auf der Grundlage der Wichtigkeit der Daten in Ihrer Datenbank können Sie eines der folgenden Wiederherstellungsmodelle anwenden, um zu bestimmen, wie Ihre Daten gesichert sind und wie das Risiko des Datenverlustes einzuschätzen ist:
    • Einfaches Wiederherstellungsmodell
    • Vollständiges Wiederherstellungsmodell
    • Massenprotokolliertes Wiederherstellungsmodell
    Mithilfe des einfachen Wiederherstellungsmodells können Sie Ihre Datenbank im Zustand der letzten Sicherungskopie der Datenbank wiederherstellen. Mithilfe des vollständigen Wiederherstellungsmodells oder des massenprotokollierten Wiederherstellungsmodells können Sie Ihre Datenbank in dem Zustand, als der Fehler aufgetreten ist, wiederherstellen, indem Sie Ihre Datenbank mit den Sicherungskopien der Transaktionsprotokolldatei wiederherstellen.

    In SQL Server 2000 und in SQL Server 2005 ist für das Wiederherstellungsmodell für eine SQL Server-Datenbank standardmäßig das vollständige Wiederherstellungsmodell festgelegt. Mit dem vollständigen Wiederherstellungsmodell werden regelmäßige Sicherungskopien des Transaktionsprotokolls verwendet, um zu verhindern, dass das Transaktionsprotokoll im Verhältnis zur Datenbankgröße nicht zu groß wird. Wenn jedoch die regelmäßigen Sicherungen des Transaktionsprotokolls nicht durchgeführt werden, wächst die Transaktionsprotokolldatei an, bis sie die Festplatte füllt, und Sie sind möglicherweise nicht in der Lage, Änderungen an der SQL Server-Datenbank vorzunehmen.

    Sie können das Wiederherstellungsmodell von vollständig auf einfach abändern, wenn Sie die Transaktionsprotokolldateien nicht während der Wiederherstellung im Notfall verwenden möchten.
  • Erstellen Sie regelmäßig Sicherungskopien der Transaktionsprotokolldateien, um inaktive Transaktionen in Ihrem Transaktionsprotokoll zu löschen.
  • Entwerfen Sie kleine Transaktionen.
  • Stellen Sie sicher, dass nicht zugeordnete Transaktionen nicht unendlich ausgeführt werden.
  • Legen Sie die Option "Statistiken aktualisieren" so fest, dass täglich aktualisiert wird.
  • Verwenden Sie die Transact-SQL-Anweisung DBCC INDEXDEFRAG anstelle der Transact-SQL-Anweisung DBCC DBREINDEX, um die Indizes zu defragmentieren, wovon die Arbeitsleistung in Ihrem Produktionsumfeld profitiert. Wenn Sie die DBCC DBREINDEX-Anweisung ausführen, wird das Transaktionsprotokoll möglicherweise entscheidend erweitert, wenn sich Ihre SQL Server-Datenbank im vollständigen Wiederherstellungsmodus befindet. Außerdem hält die DBCC INDEXDEGRAG-Anweisung die Sperren nicht lange, im Gegensatz zur DBCC DBREINDEX-Anweisung.

    Weitere Informationen zum Defragmentieren der Indizes in SQL Server 2000 finden Sie auf folgender Website von Microsoft:
    Optimale Methoden für die Microsoft SQL Server 2000-Indexdefragmentierung
    Wenn Sie die DBCC DBREINDEX-Anweisung als Auftrag, der Teil des Datenbank-Wartungsplans ist, ausführen müssen, müssen Sie den Auftrag in mehrere Aufträge aufteilen. Außerdem müssen Sie die häufigen Sicherheitskopien für die Transaktionsprotokolle zwischen dem Ausführen der Aufträge erstellen.

Weitere Informationen zu Transaktionsprotokolldateien

In SQL Server 2000 und in SQL Server 2005 enthält jede Datenbank mindestens eine Datendatei und eine Transaktionsprotokolldatei. SQL Server speichert die Daten physisch in der Datendatei. Die Transaktionsprotokolldatei speichert die Details aller Änderungen, die Sie an Ihrer SQL Server-Datenbank durchführen, sowie die Details der Transaktionen, die jede Änderung durchführten. Da die Transaktionsintegrität als grundlegendes und integriertes Merkmal von SQL Server angesehen wird, kann die Protokollierung der Details der Transaktionen in SQL Server nicht deaktiviert werden.

Die Transaktionsprotokolldatei ist logisch in kleinere Segmente unterteilt, die als virtuelle Protokolldateien bezeichnet werden. In SQL Server 2000 können Sie die Transaktionsprotokolldatei so konfigurieren, dass sie je nach Bedarf größer werden kann. Die Vergrößerung des Transaktionsprotokolls kann vom Benutzer gesteuert oder so konfiguriert werden, dass der gesamte verfügbare Speicherplatz verwendet wird. Alle Änderungen, die SQL Server an der Größe der Transaktionsprotokolldatei vornimmt, wie etwa das Abschneiden der Transaktionsprotokolldateien oder das Vergrößern, werden in den Einheiten der virtuellen Protokolldateien durchgeführt.

Wenn die zu einer SQL Server-Datenbank gehörende Transaktionsprotokolldatei voll ist und Sie die Option für das automatische Erweitern der Transaktionsprotokolldateien eingestellt haben, wird die Transaktionsprotokolldatei in den Einheiten der virtuellen Protokolldateien größer. Manchmal kann die Transaktionsprotokolldatei sehr groß werden, und es ist nicht mehr genügend Speicherplatz verfügbar. Wenn eine Transaktionsprotokolldatei größer wird, sodass die Protokolldatei allen verfügbaren Speicherplatz aufbraucht und nicht mehr erweitert werden kann, können Sie keine Datenänderungen mehr in der Datenbank vornehmen. Außerdem markiert SQL Server Ihre Datenbank unter Umständen aufgrund des nicht ausreichenden Speicherplatzes für eine Erweiterung des Transaktionsprotokolls als fehlerverdächtig.

Weitere Informationen über die Szenarien, die dazu führen können, dass die Transaktionsprotokolldatei unerwarteterweise größer wird, finden Sie in folgendem Artikel der Microsoft Knowledge Base:
317375 Transaktionsprotokoll wächst unerwarteterweise oder wird auf dem SQL-Server voll

Informationsquellen

Weitere Informationen über das Behandeln von Problemen der zusätzlichen Speicherplatzanforderung während des Wiederherstellungsprozesses finden Sie unter dem Thema "Unzureichender Speicherplatz" in der Onlinedokumentation zu SQL Server. Weitere Informationen über die Architektur des Transaktionsprotokolls finden Sie unter folgenden Themen in der Onlinedokumentation zu SQL Server:
  • Architektur des Transaktionsprotokolls
  • Logische Architektur des Transaktionsprotokolls
  • Physische Architektur des Transaktionsprotokolls
Weitere Informationen über die Wiederherstellungsmodelle in SQL Server 2000 finden Sie unter folgenden Themen in der Onlinedokumentation zu SQL Server:
  • Auswählen eines Wiederherstellungsmodells
  • Einfache Wiederherstellung
  • Vollständige Wiederherstellung
  • Massenprotokollierte Wiederherstellung
  • Wechseln zwischen Wiederherstellungsmodellen

Eigenschaften

Artikel-ID: 873235 - Geändert am: Freitag, 12. Juli 2013 - Version: 4.1
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Workgroup Edition
Keywords: 
kbsqlsetup kbdiskmemory kbdisasterrec kbhowto kbconfig kbinfo kbcip KB873235
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com