Czy mogę usunąć plik dziennika transakcji SQL Server?
nie możemy usunąć podstawowego pliku dziennika transakcji, ale możemy usunąć dodatkowe pliki dziennika w SQL Server.
czasami możemy utworzyć drugi plik dziennika na innym dysku jako obejście, ponieważ plik dziennika jest pełny.
jeśli z czasem nie usuniemy tych tymczasowych drugorzędnych plików dziennika, liczba plików dziennika wzrośnie.
gdy mamy wolne miejsce na dysku, na którym znajduje się pierwszy plik dziennika, lub gdy przenosimy ten pierwszy plik dziennika na inny dysk z wystarczającą ilością miejsca, możemy usunąć te tymczasowe drugorzędne pliki dziennika.
aby zobaczyć, jak drugi plik dziennika jest dodawany do bazy danych, możesz przeczytać artykuł „Jak dodać drugi plik dziennika do bazy danych”.
jeśli model odzyskiwania bazy danych jest modelem pełnego odzyskiwania, zalecam wykonanie kopii zapasowej dziennika transakcji. Tak więc plik dziennika transakcji jest automatycznie obcinany po utworzeniu kopii zapasowej dziennika, co zapobiega nadmiernemu wzrostowi dziennika transakcji.
możesz przeczytać poniższe artykuły, aby poznać szczegółowe informacje na temat modeli odzyskiwania i dziennika transakcji.
„co to jest model odzyskiwania bazy danych”,
„co to jest dziennik transakcji SQL Server”,
„jak zmniejszyć dziennik transakcji SQL Server”
Opróżnij dodatkowy plik dziennika transakcji przed usunięciem
po utworzeniu kopii zapasowej dziennika transakcji musimy zmniejszyć plik dziennika, który chcemy usunąć za pomocą pustej opcji.
najpierw klikamy prawym przyciskiem myszy na bazę danych i klikamy zadania-> zmniejsz – > pliki.
wybieramy opcję dziennika z sekcji Typ pliku, Jak pokazano poniżej.
wybieramy plik, który chcemy zmniejszyć z nazwy pliku.
w sekcji Shrink action zaznaczamy również „Opróżnij plik, migrując dane do innych plików w tej samej grupie plików”.
w ten sposób jesteśmy w stanie przenieść dane w pliku dziennika do innych plików dziennika.
zanim klikniesz Ok, przejdźmy do skryptu, klikając „skrypt” w lewym górnym rogu. Spowoduje to wyświetlenie skryptu podobnego do następującego.
1
2
3
4
|
użyj
GO
DBCC SHRINKFILE (N’ Testdb_log2′, EMPTYFILE)
GO
|
Usuń dodatkowy plik dziennika transakcji
kliknij prawym przyciskiem myszy bazę danych i kliknij Właściwości.
przejdź do zakładki ” pliki „po lewej stronie i wybierz plik dziennika, który chcesz usunąć z sekcji” Pliki baz danych ” i kliknij przycisk Usuń w prawym dolnym rogu. Na koniec kliknij „skrypt” w górnej części, aby uzyskać skrypt usuwania wtórnego pliku dziennika.
spowoduje to wyświetlenie skryptu podobnego do następującego.
1
2
3
4
|
użyj
przejdź
ZMIEŃ bazę danych usuń plik
przejdź
|
możesz usunąć plik dziennika, łącząc te dwa skrypty w następujący sposób.
1
2
3
4
5
6
|
użyj
GO
DBCC SHRINKFILE (N’ Testdb_log2′, EMPTYFILE)
GO
ALTER DATABASE REMOVE FILE
GO
|
po usunięciu dodatkowego pliku dziennika może się wydawać, że nie został on usunięty z bazy danych przez jakiś czas. Nie martw się, to normalne. Po pewnym czasie powróci do normalnego stanu.
Author: dbtut
We are a team with over 10 years of database management and BI experience. Our Expertises: Oracle, SQL Server, PostgreSQL, MySQL, MongoDB, Elasticsearch, Kibana, Grafana.