DBCC ShrinkDatabase()
DBCC ShrinkFile()
- Czy muszę uruchomić obie komendy DBCC, aby zmniejszyć bazę danych?
- Jaka jest różnica między tymi dwoma powyżej?
DBCC ShrinkDatabase()
DBCC ShrinkFile()
Odpowiedzi:
Po prostu...
DBCC ShrinkDatabase()
: zmniejsz wszystkie plikiDBCC ShrinkFile()
: tylko jeden plikNa przykład możesz mieć problem z kopią zapasową dziennika, który wymknął się spod kontroli, więc możesz uruchomić DBCC ShrinkFile()
.
Ty prawie nigdy nie używać ShrinkDatabase
.
Zanim zaczniesz używać któregoś z poleceń, przeczytaj blog Paula Randala na temat zmniejszania się .
Nie zmniejszyłem żadnego z tych plików (mdf, ldf), chyba że istnieje wyraźny powód. Pliki mają rozmiar, ponieważ muszą być. Wszelkie blogi sugerujące to w ramach regularnej konserwacji prawdopodobnie nie rozumieją, jak działa SQL Server.
Domyślna baza danych ma dwa pliki
MyDb.MDF i MyDb.LDF
Plik MDF to plik danych, w którym znajduje się partycja podstawowa. W zależności od potrzeb możesz podzielić bazę danych na wiele plików. Odbywa się to w taki sposób, że dane (pojedyncza lub wiele tabel) mogą obejmować wiele plików, które zwykle są umieszczane na oddzielnych dyskach twardych w celu uzyskania wyższej wydajności.
Jeśli zmniejszysz bazę danych, wszystkie pliki powiązane z tą bazą danych zostaną zmniejszone.
Jeśli zmniejszysz plik, tylko wybrany plik zostanie zmniejszony.
Wystarczy użyć polecenia Zmniejsz bazę danych. Ale zwykle nie jest to dobra praktyka i nie jest to zalecana praktyka.
Jeśli powiesz nam, na czym polega problem, możemy przekazać Ci więcej informacji na temat jego rozwiązania.
Najprawdopodobniej używamy tylko pliku skurczowego dbcc. sp_helpdb 'nazwa bazy danych' zapewnia listę danych i plików dziennika w bazie danych.
kliknij prawym przyciskiem myszy studio mnagement, zadania-> skurcz-> plik podaje, ile% możesz zmniejszyć.
cokolwiek się kurczy, jest dostępne na dysku jako wolne miejsce.
np .: użyj „nazwa bazy danych” dbcc shrinkfile (fileid, 100)
tutaj 100 to 100 MB
fileid można uzyskać ze sp_helpdb „nazwa bazy danych”