Jeżeli uważasz, że plik dziennika transakcji bazy danych jest za duży (najczęściej rozmiar dziennika zwiększa się, gdy administrator baz danych nie zadba o cykliczne wykonywanie kopii zapasowych dziennika transakcji), użyj metody złożonej z następujących kroków:
1. Jeżeli baza działa w trybie (recovery model) FULL lub BULK-LOGGED, wykonaj kopię zapasową dziennika transakcji używając polecenia BACKUP LOG, np.
BACKUP LOG TwojaBazaDanych TO DISK = 'C:\LogBackup.trn';
2. Jeżeli baza działa w trybie (recovery model) SIMPLE, uruchom polecenie:
USE TwojaBazaDanych;
CHECKPOINT;
3. Zmniejsz rozmiar pliku dziennika transakcji używając polecenia DBCC SHRINKFILE, np.
USE TwojaBazaDanych;
DBCC SHRINKFILE('PlikDziennikaTransakcjiTwojejBazyDanych');
Po wykonaniu operacji zmniejszania pliku dziennika transakcji należy bezzwłocznie rozważyć jego zwiększenie do rozmiaru, który zapewni pracę bazy danych bez automatycznego powiększania tego pliku.
Zapamiętaj: zmniejszanie plików (jakichkolwiek) baz danych w SQL Server to ostateczność!
W razie, gdyby podany algorytm nie przynosił skutku należy powtórzyć opisane operacje kilkukrotnie, a jeżeli i to nie pomoże, należy sprawdzić, co jest przyczyną niemożliwości zmniejszenia pliku dziennika transakcji (w SQL Server 2005 i nowszych: partrz kolumna log_reuse_wait_desc w widoku sys.databases).
Więcej:
http://zine.net.pl/blogs/sqlgeek/archive/2008/07/25/pl-m-j-log-jest-za-du-y.aspx
http://www.microsoft.com/poland/technet/article/art0091_01.mspx