[SQL Server 2008] Transaktions Log bei großen Datenbankaktionen klein halten

Thomas Darimont

Erfahrenes Mitglied
Hallo,

um das SQL Server Transaktions Log (*.ldf-Datei) bei großen Datenbankaktionen klein halten zu können kann man
den Recovery Mode der DB auf Simple stellen. Standardmäßig läuft eine DB mit Full Backup und schreibt bei jeder
Datenbankaktion die Veränderungen ins Datenbanklog (auch zwischen Commits). Die Änderungen werden dann aus
performance Gründen verzögert auf die Platte geschrieben. Für umfangreiche Datenbankaktionen (große Koperaktion)
ist das aufzeichnen der Veränderungen oftmals nicht notwendig. Dies kann mit dem Recovery Mode Simple deaktivert werden.

SQL:
--Aktuellen recovery modus der Datenbank bestimmen:
SELECT name
     , recovery_model_desc
  FROM sys.DATABASES
 WHERE name = 'SomeDB'
 ORDER BY name
 
-- Recovery Mode umstellen
ALTER DATABASE SomeDb SET RECOVERY SIMPLE WITH NO_WAIT

-- Anschließend kann man mit DBCC das Log-File verkleinern zielgröße 1 MB: 
DBCC SHRINKFILE (SomeDb_log, 1)

Mehr dazu gibts auch hier:
http://www.trivadis.com/uploads/tx_cabagdownloadarea/SQL_Server_Logfile_handling.pdf
http://support.microsoft.com/kb/907511

Gruß Tom
 

Neue Beiträge

Zurück