Czy konieczne jest ponowne uruchomienie programu SQL Server po DBCC SHRINKFILE
dniu tempdb.mdf
czy jest jakiś inny sposób, aby zmniejszyć rozmiar tempdb.mdf
bez ponownego uruchamiania SQL Server?
Prosimy o pomoc, ponieważ potrzebuję tego do serwera produkcyjnego i mam nadzieję, że zmniejszy się bez żadnego przestoju.
sql-server
Manii
źródło
źródło
Odpowiedzi:
Możesz to zrobić w ten sposób:
Ostatni krok jest najtrudniejszy. Podczas procesu zmniejszania żadna inna akcja nie powinna używać tempdb, ponieważ może to spowodować przerwanie
SHRINKFILE
operacji. Z uwagi na fakt, że tempdb jest dość łatwy do skurczenia, jego zmniejszenie nie powinno zająć dużo czasu.Uważaj, że jest to coś w rodzaju „miękkiego restartu”. Wszystko zostanie usunięte z buforów i zapisane na płycie. Oznacza to wpływ na podsystem we / wy (zapis), ponieważ musi on obsługiwać wszystkie operacje zapisu. Następnie można zmniejszyć plik (co ma wpływ na wydajność odczytu i zapisu), a na koniec wszystkie procesy, które wyszukują zapytania w dowolnej tabeli, będą musiały odzyskać dane z podsystemu I / O do buforów. Może to boleć bardziej niż ponowne uruchomienie.
Jeśli korzystasz z systemu programistycznego, powinieneś po prostu zrestartować komputer zamiast w ten sposób. Ale w niektórych systemach produkcyjnych bez partnera awaryjnego może to być przydatne.
źródło
Możesz przejść tylko z poniższym krokiem
źródło