SQL Server Transaktionsprotokolldatei löschen

Kann ich die SQL Server-Transaktionsprotokolldatei löschen?

Wir können nicht primäre Transaktionsprotokolldatei löschen, aber wir können sekundäre Protokolldateien in SQL Server löschen.

Manchmal können wir als Problemumgehung eine zweite Protokolldatei auf einer anderen Festplatte erstellen, da die Protokolldatei voll ist.

Wenn wir diese temporären sekundären Protokolldateien im Laufe der Zeit nicht löschen, erhöht sich die Anzahl der Protokolldateien.

Wenn wir freien Speicherplatz auf der Festplatte haben, auf der sich die erste Protokolldatei befindet, oder wenn wir diese erste Protokolldatei auf eine andere Festplatte mit ausreichendem Speicherplatz verschieben, können wir diese temporären sekundären Protokolldateien löschen.

Um zu sehen, wie eine zweite Protokolldatei zur Datenbank hinzugefügt wird, können Sie den Artikel „Hinzufügen der zweiten Protokolldatei zur Datenbank“ lesen.

Wenn das Wiederherstellungsmodell Ihrer Datenbank das vollständige Wiederherstellungsmodell ist, empfehle ich Ihnen, Ihr Transaktionslog zu sichern. Daher wird Ihre Transaktionsprotokolldatei nach der Protokollsicherung automatisch abgeschnitten, und dies verhindert, dass Ihr Transaktionsprotokoll zu stark wächst.

Sie können die folgenden Artikel lesen, um detaillierte Informationen zu Wiederherstellungsmodellen und Transaktionsprotokollen zu erhalten.

„Was ist Database Recovery Model“,

„Was ist SQL Server Transaction Log“,

„How To Shrink SQL Server Transaction Log“

Leere sekundäre Transaktionsprotokolldatei Vor dem Entfernen

Nach dem Sichern des Transaktionsprotokolls müssen wir die Protokolldatei, die wir löschen möchten, mit der Option empty verkleinern.

Zuerst klicken wir mit der rechten Maustaste auf die Datenbank und klicken auf Tasks-> Shrink-> Files.

Wir wählen die Protokolloption aus dem Abschnitt Dateityp wie unten gezeigt.

Wir wählen die Datei, die wir verkleinern möchten, aus dem Dateinamen aus.

Im Abschnitt Aktion verkleinern wählen wir auch „Datei leeren, indem die Daten in andere Dateien in derselben Dateigruppe migriert werden“.

Auf diese Weise können wir die Daten in der Protokolldatei auf die anderen Protokolldateien übertragen.

Bevor wir auf OK klicken, nehmen wir das Skript, indem wir oben links auf „Skript“ klicken. Dadurch wird ein Skript wie das Folgende ausgegeben.

1
2
3
4

VERWENDEN SIE
GO
DBCC SHRINKFILE (N’Testdb_log2′ , EMPTYFILE)
GO

Sekundäre Transaktionsprotokolldatei entfernen

Klicken Sie mit der rechten Maustaste auf die Datenbank und klicken Sie auf Eigenschaften.

Gehen Sie auf die Registerkarte „Dateien“ auf der linken Seite und wählen Sie die Protokolldatei, die Sie aus dem Abschnitt „Datenbankdateien“ löschen möchten, und klicken Sie unten rechts auf die Schaltfläche „Entfernen“. Klicken Sie abschließend oben auf „Skript“, um das Skript zum Entfernen der sekundären Protokolldatei abzurufen.

Dadurch wird ein Skript wie das Folgende ausgegeben.

1
2
3
4

VERWENDEN SIE
GO
DATENBANK ÄNDERN DATEI ENTFERNEN
GO

Sie können die Protokolldatei entfernen, indem Sie diese beiden Skripte wie folgt kombinieren.

1
2
3
4
5
6

USE
GO
DBCC SHRINKFILE (N’Testdb_log2′ , EMPTYFILE)
GO
DATENBANK ÄNDERN DATEI ENTFERNEN
GO

Nach dem Entfernen der sekundären Protokolldatei kann es vorkommen, dass sie eine Weile nicht aus der Datenbank entfernt wurde. Keine Sorge, das ist normal. Nach einer Weile kehrt es in den Normalzustand zurück.

dbtut

Author: dbtut

We are a team with over 10 years of database management and BI experience. Our Expertises: Oracle, SQL Server, PostgreSQL, MySQL, MongoDB, Elasticsearch, Kibana, Grafana.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.