Logdatei verkleinern
SQL ServerBackup & LogBefehl
-- First take a log backup so the log can be truncated (FULL model):
BACKUP LOG [Customer] TO DISK = N'D:\Backup\Customer_log_pre_shrink.trn' WITH COMPRESSION;
-- Find the logical name of the log file:
SELECT name, type_desc FROM sys.database_files WHERE type_desc = 'LOG';
-- Shrink (target 2048 MB):
USE [Customer];
DBCC SHRINKFILE (N'Customer_log', 2048);Was es tut
Verringert die physische Größe der Transaktionslogdatei und gibt Platz an das Betriebssystem zurück.
Wann einsetzen
Wenn das Log nach einem einmaligen ungewöhnlichen Wachstum (große Transaktion/Index-Rebuild) dauerhaft aufgebläht geblieben ist.
Vorsicht
GEFÄHRLICH/VORSICHT: Routinemäßiges Verkleinern ist SCHLECHTE Praxis; die Performance sinkt, während das Log wieder wächst, und die VLF-Fragmentierung nimmt zu. Erstelle zuerst ein Log-Backup, sonst sinkt die Größe nicht. Verkleinere nur eine unnötig gewachsene Logdatei, nicht die Datendatei. Vergrößere sie danach in einem einzigen Schritt wieder auf eine passende Größe.
Verwandte Einträge
- Transaktionslog-Backup erstellen
- FULL- und DIFFERENTIAL-Backups erstellen
- Warum die Logdatei gewachsen ist / warum sie nicht gekürzt wird
- Anzahl der VLFs (Virtual Log Files) anzeigen
- Die älteste offene Transaktion finden (ACTIVE_TRANSACTION)
- Ad-hoc-Backup erstellen, ohne die Kette zu unterbrechen (COPY_ONLY, Striping, Durchsatz)