MS SQL database shrinking script

Reading Time: 1 minute

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:)

Tagi , , .Dodaj do zakładek Link.

Komentarze są wyłączone.