Marcin Bzdawski ...
Temat: Czyszczenie transaction log - problem
WitamMam problem z logiem. SQL2008 po migracji z SQL2000 , ustawienia bazy: Recovery model: Bulk Logged (tak było wcześniej i zostawiłem), Compativility Level: na razie zostawione 80 ale planuję zmienić na 100.
Mam skrypt do backupu:
--Backup bazy
BACKUP DATABASE [DB_NAME] TO [Backup DB_NAME] WITH NOFORMAT, INIT, NAME = N'DB_NAME-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10
GO
--Backup logu
BACKUP LOG [DB_NAME] TO [Backup DB_NAME_tl] WITH NOFORMAT, INIT, NAME = N'DB_NAME-Transaction Log Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10
GO
USE [DB_NAME]
GO
DBCC SHRINKFILE (N'DB_NAME_Log' , 200)
GO
Na końcu jest shrink żeby czyścić bazę ale problem jest taki że to nie działa jak ten skrypt jest uruchamiany w agencie w nocy. Jak go uruchomię ręcznie poprzez Execute wybranych komend to najpierw udaje mi się częściowo log oczyścić, później muszę jeszcze raz zbackupować żeby np do 200 oczyścić np: na poczatku mam log 4GB, po pierwszym backup logu i shrinku spada do 1,5GB po drugim backupie i shrinku do 200MB. Nie wiem dlaczego ale tak to działa. Przy tworzeniu backupu mam zaznaczone Truncate the Transaction log. We wcześniejszej wersji używałem :
backup log DB_NAME with truncate_only
go
ale w SQL 2008 R2 to nie działa.
Co powinienem zrobić i jak rozwiązać ten problem ??
pozdrawiam i z góry dziękuję za pomoc ...