SQL-Protokolldateien können mit der Zeit extrem groß werden, was Datenträgerspeicher verbraucht und potenziell Leistungsprobleme verursacht. Diese Anleitung zeigt Ihnen, wie Sie SQL Server-Transaktionsprotokolldateien sicher verkleinern können, um Speicherplatz freizugeben und eine optimale Systemleistung zu gewährleisten.
Hintergrund
Bei der Verwendung von SQL Server mit iBase werden zwei SQL-Datenbanken erstellt – eine für Daten und eine andere für Protokolle. Der SQL-Server generiert für jede Datenbank eine Protokolldatei. Obwohl diese Protokolldatei eine interne Komponente des SQL-Servers ist und iBase direkt nicht beeinflusst, kann die Größe der Protokolldatei erheblich zunehmen und Störungen verursachen.
Probleme wie verzögerte iBase-Antwortzeiten oder Fehlermeldungen wegen unzureichend freiem Speicherplatz auf dem Datenträger können eintreten, wenn Protokolldateien zu groß werden. Dies geschieht in der Regel, weil das Datenbank-Wiederherstellungsmodus standardmäßig auf "Voll" eingestellt ist, was eine automatische Bereinigung der Protokolldatei verhindert.
Umgebung
SQL Server-Speicherung
Wie erkenne ich das Problem?
Auf Windows navigieren Sie zum Ordner mit den Datenbankdateien. Suchen Sie nach Dateien mit der Erweiterung .ldf und beurteilen Sie ihre Größen. Wenn diese Dateien ungewöhnlich groß erscheinen (mehrere Gigabyte oder mehr), sollten Sie Maßnahmen zur Reduzierung in Betracht ziehen.
Wie kann ich die SQL-Protokolldatei verkleinern?
-
Schritt 1: Datenbankeigenschaften öffnen
In SQL Server Management Studio klicken Sie mit der rechten Maustaste auf die Datenbank und wählen Sie Eigenschaften aus, dann wählen Sie Optionen.
-
Schritt 2: Wiederherstellungsmodus auf Einfach ändern
Stellen Sie sicher, dass der "Wiederherstellungsmodus" auf "Einfach" (nicht "Voll") eingestellt ist und klicken Sie auf OK.
Hinweis: Dies deaktiviert vorübergehend Transaktionsprotokollsicherungen. Sie werden diese Einstellung nach der Verkleinerung wiederherstellen.
-
Schritt 3: Dialogfeld Dateien verkleinern aufrufen
Klicken Sie mit der rechten Maustaste erneut auf die Datenbank, wählen Sie Aufgaben > Dateien verkleinern > Dateien.
-
Schritt 4: Log-Dateityp auswählen
Ändern Sie im Dialogfeld den Dateitypdropdown auf "Log".
-
Schritt 5: Zielgröße festlegen und verkleinern
Setzen Sie die Größe der Protokolldatei auf 100 MB (oder eine angemessene Größe für Ihre Bedürfnisse) und klicken Sie auf OK.
-
Schritt 6: Größenreduktion überprüfen
Navigieren Sie zum Datenbankordner und prüfen Sie die Größe der
.ldf-Datei, um die Reduzierung zu bestätigen. -
Schritt 7: Wiederherstellungsmodus auf Voll zurückstellen
Gehen Sie zurück zu den Datenbankeigenschaften > Optionen und ändern Sie den "Wiederherstellungsmodus" wieder auf "Voll". Klicken Sie auf OK.
Wichtig: Dieser Schritt stellt die normalen Sicherungs- und Wiederherstellungsfähigkeiten her.
Alternative: Verwendung von SQL-Befehlen
Sie können diese Schritte auch mit SQL-Befehlen durchführen:
-- Set Recovery Mode to Simple
ALTER DATABASE mydatabase SET RECOVERY SIMPLE
GO
-- Shrink Log File
DBCC SHRINKFILE (mydatabase_Log, 1)
GO
-- Revert Recovery Mode to Full
ALTER DATABASE mydatabase SET RECOVERY FULL
GO
Warnung: Ersetzen Sie mydatabase durch den tatsächlichen Namen Ihrer Datenbank und mydatabase_Log durch den logischen Namen Ihrer Protokolldatei (sichtbar im Dialogfeld Dateien verkleinern).
Häufige Probleme
- Protokolldatei wird nicht verkleinert: Stellen Sie sicher, dass keine aktiven Transaktionen laufen. Sie müssen möglicherweise
CHECKPOINTausführen, bevor Sie die Verkleinerung durchführen. - Datei wächst schnell wieder auf: Wenn die Protokolldatei nach der Verkleinerung schnell wieder groß wird, sollten Sie regelmäßige Transaktionsprotokollsicherungen planen (wenn im Wiederherstellungsmodus "Voll") oder Abfragen untersuchen, die eine erhebliche Protokollaktivität generieren.
- Unzureichende Berechtigungen: Sie benötigen
db_owner- odersysadmin-Rechte, um Wiederherstellungsmodi zu ändern und Dateien zu verkleinern.