MS SQL database shrinking script

Dla tych, którym nie udało się znaleźć gdzie indziej a potrzebują skryptu, który zmniejszy rozmiar puchnących logami baz danych w MS SQL serwerze – gotowe rozwiązanie:

DECLARE @baza CHAR(255)
DECLARE @tmp CHAR(2000)

DECLARE cursor_bazy CURSOR FOR
SELECT name FROM master..sysdatabases –WHERE name not in (‚master’,’tempdb’,’model’,’pubs’,’msdb’)
OPEN cursor_bazy

FETCH NEXT FROM cursor_bazy
INTO @baza
WHILE @@FETCH_STATUS = 0
BEGIN

SET @tmp = ‚BACKUP LOG ‚ + rtrim(@baza) + ‚ WITH TRUNCATE_ONLY’
EXEC (@tmp)
SET @tmp = ‚DBCC SHRINKDATABASE (‚ + rtrim(@baza) + ‚)’
EXEC (@tmp)

FETCH NEXT FROM cursor_bazy
INTO @baza
END
CLOSE cursor_bazy
DEALLOCATE cursor_bazy

Fajne jest jak baza z 50GB nagle zmienia się w trzygigowego szkraba:)



Liczba wyświetleń: 144