Truncate and shrink log files in SQL Server
Ostatnia aktualizacja: 2020-06-18
Autor: Karoline Mills
w tym artykule opisano różnicę między zmniejszaniem i obcinaniem dziennika transakcji w Microsoft® SQL Server®. Przedstawia różne scenariusze użytkowania i przedstawia sposób wykonywania tych zadań.,
zrozumieć obcinanie dziennika
Jeśli baza danych jest prostym modelem odzyskiwania, system obcina dziennik transakcji automatycznie po każdej transakcji. W przypadku baz danych z pełnym lub zbiorczym modelem odzyskiwania system obcina dziennik transakcji dopiero po udanej kopii zapasowej dziennika transakcji.
pełna kopia zapasowa bazy danych nie obcina dziennika. Jeśli nie wykonujesz regularnych kopii zapasowych dziennika transakcji, plik dziennika będzie się rozrastał, dopóki nie zabraknie miejsca. Podczas gdy obcinanie dziennika sprawia, że miejsce jest ponownie dostępne do użycia, nie zmniejsza to rozmiaru pliku dziennika transakcji., Aby zmniejszyć rozmiar pliku dziennika transakcji, musisz zmniejszyć plik dziennika.
Obcinanie dziennika transakcji
użyj następujących kroków, aby obcinać plik dziennika transakcji w SQL Server Management Studio (SQL Server 2008 i nowsze). Należy pamiętać, że wykonanie tych kroków może spowodować utratę danych. Nie należy ręcznie obcinać dziennika, ponieważ zwykłe kopie zapasowe dziennika powinny automatycznie wykonywać to zadanie.
Uwaga: potrzebujesz stałej roli serwerasysadmin
lub stałej roli bazy danychdb_owner
, aby obciąć dziennik.,
-
kliknij prawym przyciskiem myszy bazę danych i wybierz Właściwości- > opcje.
-
Ustaw model odzyskiwania na
Simple
I Zamknij menu. -
kliknij ponownie prawym przyciskiem myszy bazę danych i wybierz zadania – > zmniejsz- > pliki.
-
Zmień typ na
Log
. -
w obszarze Shrink action wybierz Reorganizuj strony przed zwolnieniem nieużywanego miejsca i kliknij OK.,
-
Po zakończeniu procesu Przełącz model odzyskiwania z powrotem na
Full
lubBulk-Logged
I wykonaj pełną kopię zapasową bazy danych.
rozumie zmniejszanie dziennika
Jeśli chcesz odzyskać miejsce na dysku z pliku dziennika transakcji, rozważ zmniejszanie pliku dziennika. Funkcja kurczenie odzyskuje miejsce, przenosząc dane z końca pliku do wolnego miejsca z przodu pliku. Po utworzeniu wystarczającej ilości miejsca na końcu pliku można go dealokować i powrócić do systemu plików., Kurczenie dzienników pomaga po wykonaniu operacji, która tworzy dużą liczbę dzienników. Możesz zmniejszyć dziennik tylko wtedy, gdy w pliku dziennika jest wolne miejsce.
zmniejsz dziennik transakcji
użyj następujących kroków, aby obciąć plik dziennika transakcji:
Uwaga: potrzebujesz stałej roli serwera sysadmin
lub stałej roli bazy danych db_owner
aby zmniejszyć dziennik.
-
kliknij prawym przyciskiem myszy bazę danych i wybierz zadania – > zmniejsz- > pliki.
-
Zmień typ na
Log
., -
w obszarze Shrink action wybierz Release unused space i kliknij OK.
modele odzyskiwania baz danych SQL Server