Über Shrinkfile hatte ich ja schon einmal geschrieben. Der beschriebene Vorgang funktioniert aber nur für den MSSQL Server 2000 und nicht mehr für 2005.

Hier nun die Möglichkeit das Transaktionlog per SQL Befehl schnell und effektiv zu löschen:

— Option Logfile-ohne-Protokollierung-abschneiden einschalten
EXEC sp_dboption ‘abc’, ‘trunc. log on chkpt.’, ‘TRUE’

— Daten sichern (physikalisches Datensichern auf Platte)
CHECKPOINT

— Logfile ohne Protokollierung abschneiden
DBCC SHRINKFILE (‘abcLog’, TRUNCATEONLY)

— Option Logfile-ohne-Protokollierung-abschneiden aufheben
EXEC sp_dboption ‘abc’, ‘trunc. log on chkpt.’, ‘FALSE’

GO

Danach bleibt kaum mehr was übrig beim Logfile. abc steht für den Namen der Datenbank, abcLOG für den Namen des Transaktionlogfiles.

Namen der DB und Transaction_log können wie folgt ausgelesen werden:

EXECUTE sp_helpdb ‘your db name’

Share