MSSQL transakčné logy sú kľúčovým prvkom databázového systému, ktorý môže rýchlo zaplniť disk ak nie je správne spravovaný. V tomto článku vám ukážem, ako efektívne spravovať MSSQL transakčné logy a predísť problémom s diskovým priestorom.
Súbor .ldf môže narásť na stovky GB ak MSSQL transakčné logy nie sú pravidelne zálohované alebo truncované.
Recovery modely pre MSSQL transakčné logy
FULL Recovery Model
- Uchováva každú transakciu až do zálohy logu
- Umožňuje point-in-time recovery
- Vyžaduje pravidelné zálohy logov
SIMPLE Recovery Model
- Automaticky truncuje logy po checkpoint
- Obnova len k poslednému full backup
- Nevyžaduje zálohy logov
BULK_LOGGED Recovery Model
- Hybridný prístup pre bulk operácie
- Vhodné pre ETL procesy
Viac o recovery modeloch nájdete v Microsoft SQL Server dokumentácii.
SQL príkazy pre správu MSSQL transakčných logov
Zobrazenie recovery modelov
SELECT name AS Databaza, recovery_model_desc AS Rezim
FROM sys.databases
WHERE name NOT IN ('master', 'model', 'msdb', 'tempdb');
Zmena recovery modelu a shrink logu
ALTER DATABASE [dbname] SET RECOVERY SIMPLE
DBCC SHRINKFILE ([logfile], 100)
Záloha transakčného logu
BACKUP LOG [database] TO DISK = 'C:\Backups\db_log.trn'
Odporúčania pre MSSQL transakčné logy
| Prostredie | Recovery Model |
|---|---|
| Produkčné systémy | FULL + pravidelné zálohy logov |
| Dev/Test | SIMPLE |
| Reporting databázy | SIMPLE |
Zhrnutie
Správa MSSQL transakčných logov je kritická pre stabilitu. Kľúčové body:
- FULL model vyžaduje pravidelné zálohy logov
- SIMPLE model automaticky truncuje logy
- Nevhodná konfigurácia vedie k zaplneniu disku
Ďalšie návody na Azure a databázy v našej sekcii.
Odborník na kybernetickú bezpečnosť, správu Azure Cloud a VMware onprem. Využíva technológie, ako Checkmk a MRTG, na monitorovanie siete a zvyšovanie efektívnosti a bezpečnosti IT infraštruktúry. Kontakt: hasin(at)mhite.sk
