Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Thema werden mögliche Antworten auf ein vollständiges Transaktionsprotokoll erläutert und vorgeschlagen, wie Sie es in Zukunft vermeiden können. Wenn das Transaktionsprotokoll voll ist, gibt die Microsoft SQL Server-Datenbank-Engine den Fehler 9002 aus. Das Protokoll kann ausgefüllt werden, wenn die Datenbank online oder in der Wiederherstellung ist. Falls das Protokoll während des Onlinezustands der Datenbank voll ist, bleibt die Datenbank online, aber sie kann nur gelesen und nicht aktualisiert werden. Wenn das Protokoll während der Wiederherstellung gefüllt wird, kennzeichnet das Datenbankmodul die Datenbank als RESSOURCE, die noch zugewiesen werden muss. In beiden Fällen ist eine Aktion seitens des Benutzers erforderlich, um Speicherplatz im Protokoll verfügbar zu machen.
Reagieren auf ein vollständiges Transaktionsprotokoll
Die angemessene Reaktion auf ein vollständiges Transaktionsprotokoll hängt teilweise davon ab, welche Bedingung oder Bedingungen zur vollständigen Füllung des Protokolls geführt haben. Um zu ermitteln, was das Abschneiden von Protokollen in einem bestimmten Fall verhindert, verwenden Sie die Spalten log_reuse_wait und log_reuse_wait_desc der Katalogansicht sys.database. Weitere Informationen finden Sie unter sys.databases (Transact-SQL). Beschreibungen von Faktoren, die das Abschneiden von Protokollen verzögern können, finden Sie unter Das Transaktionsprotokoll (SQL Server).
Von Bedeutung
Wenn die Datenbank beim Auftreten des Fehlers 9002 wiederhergestellt wurde, stellen Sie die Datenbank nach dem Beheben des Problems mithilfe von ALTER DATABASE database_name SET ONLINE wieder her.
Zu den Alternativen für die Reaktion auf ein vollständiges Transaktionsprotokoll gehören:
Sichern des Protokolls.
Freigeben von Speicherplatz, damit das Protokoll automatisch vergrößert werden kann.
Verschieben der Protokolldatei auf ein Laufwerk mit ausreichendem Speicherplatz.
Vergrößern der Größe einer Protokolldatei.
Hinzufügen einer Protokolldatei auf einem anderen Datenträger.
Abschließen oder Abbrechen einer lang andauernden Transaktion.
Diese Alternativen werden in den folgenden Abschnitten erläutert. Wählen Sie eine Antwort aus, die Ihrer Situation am besten entspricht.
Sichern des Protokolls
Wenn das Transaktionsprotokoll kürzlich nicht gesichert wurde, kann entweder das vollständige Wiederherstellungsmodell oder das Massenprotokollierungs-Wiederherstellungsmodell das Abschneiden des Protokolls verhindern. Wenn das Protokoll zuvor noch nicht gesichert wurde, müssen Sie zwei Protokollsicherungen erstellen, damit das Protokoll von der Datenbank-Engine bis zu dem Punkt abgeschnitten werden kann, an dem die letzte Sicherung erfolgt ist. Durch Kürzen des Protokolls wird Speicherplatz für neue Protokolldatensätze freigegeben. Sichern Sie das Protokoll in kürzeren Abständen, damit es nicht wieder so schnell aufgefüllt wird.
So erstellen Sie eine Transaktionsprotokollsicherung
Von Bedeutung
Wenn die Datenbank beschädigt ist, lesen Sie Tail-Log Sicherungen (SQL Server).
Freigeben von Speicherplatz
Möglicherweise können Sie durch Löschen oder Verschieben anderer Dateien Speicherplatz auf dem Datenträger freigeben, das die Transaktionsprotokolldatei für die Datenbank enthält. Aufgrund des freigegebenen Speicherplatzes kann die Protokolldatei dann durch den Wiederherstellungsmechanismus automatisch vergrößert werden.
Verschieben der Protokolldatei auf einen anderen Datenträger
Wenn Sie nicht genügend Speicherplatz auf dem Laufwerk freigeben können, das derzeit die Protokolldatei enthält, ziehen Sie in Betracht, die Datei mit ausreichend Speicherplatz auf ein anderes Laufwerk zu verschieben.
Von Bedeutung
Protokolldateien sollten unter keinen Umständen in komprimierten Dateisystemen gespeichert werden.
So verschieben Sie eine Protokolldatei
Vergrößern der Größe einer Protokolldatei
Wenn auf dem Protokolldatenträger Speicherplatz vorhanden ist, können Sie die Protokolldatei vergrößern. Die maximale Größe für Protokolldateien beträgt zwei Terabyte (TB) pro Protokolldatei.
So erhöhen Sie die Dateigröße
Wenn die automatische Vergrößerung deaktiviert ist, ist die Datenbank online und genügend Speicherplatz auf dem Datenträger verfügbar:
Erhöhen Sie die Dateigröße manuell, um die Datei einmalig um einen bestimmten Wert zu vergrößern.
Aktivieren Sie die automatische Vergrößerung, indem Sie die ALTER DATABASE-Anweisung verwenden, um ein Wachstumsinkrement ungleich Null für die FILEGROWTH-Option festzulegen.
Hinweis
Wenn der aktuelle Größengrenzwert erreicht wurde, erhöhen Sie in beiden Fällen den MAXSIZE-Wert.
Hinzufügen einer Protokolldatei auf einem anderen Datenträger
Fügen Sie der Datenbank auf einem anderen Datenträger eine neue Protokolldatei hinzu, die über ausreichendEn Speicherplatz verfügt, indem Sie ALTER DATABASE <database_name> ADD LOG FILE verwenden.
So fügen Sie eine Protokolldatei hinzu
Siehe auch
ALTER DATABASE (Transact-SQL)
Verwalten der Größe der Transaktionsprotokolldatei
Transaktionsprotokollsicherungen (SQL Server)
sp_add_log_file_recover_suspect_db (Transact-SQL)