Przeczytałem wiele blogów tu i tam o tym, jak skonfigurować pliki danych tempdb, ale nie znalazłem żadnych informacji dotyczących pliku dziennika tempdb .
Oto strategia, której obecnie używam z moim tempdb:
- Skorzystałem z zaleceń Paula Randala, jak podzielić moje pliki danych tempdb
- Rozmiar moich plików danych tempdb ustawiłem na maksymalny i wyłączony autogrowth. Na przykład mam 100 GB wolnego miejsca na dysku i ustawiam rozmiar moich 8 plików danych tempdb na 10 GB każdy. Zapobiega to fragmentacji dysku zgodnie z zaleceniami Brenta Ozara, a także mam 20 GB wolnego miejsca na mój plik dziennika.
Ale jak powiedziałem, nikt nie mówi o pliku dziennika tempdb . Co powinienem z tym zrobić? W mojej instalacji ten plik jest w tym samym miejscu, co pliki danych tempdb. Jakiego rozmiaru i wartości autogrowth należy użyć z plikiem dziennika tempdb?
sql-server
sql-server-2012
tempdb
Alexandre Jobin
źródło
źródło
Odpowiedzi:
To naprawdę zależy od tego, ile danych przepłynie przez dziennik transakcji. Zobacz, jak duży jest dziennik. Musisz skonfigurować dziennik, aby miał przynajmniej taki rozmiar podczas uruchamiania SQL. Dla większości moich klientów kończy się na dzienniku transakcji 3-4 Gig dla tempdb, który zawiera tylko kilka VLF i wszystko działa ładnie i płynnie.
źródło
Zawsze mówiono mi, aby przechowywać pliki dziennika w osobnej macierzy dyskowej / fizycznej, jeśli Twój sprzęt może jednocześnie zapisywać dane i logować się w tym samym czasie, aby poprawić wydajność. Domyślam się, że ograniczenie, które zrodziło twój limit tempdb 20G, może zdefiniować odpowiedź na rozmiar. W przypadku automatycznego wzrostu może to zależeć od uruchomionych transakcji, dostępnego wolnego miejsca i innych zasobów na dysku. Zazwyczaj arbitralnie wybieram 1/6 początkowego rozmiaru.
źródło
Aaron ma rację konfiguracja TempDB zależy od wielu zmiennych, takich jak to, czy planujesz użyć izolacji migawek itp. Oto starsza biała księga SQL 2005 od MS / TN, która może ci pomóc, ponieważ spora jej część wciąż ma zastosowanie. W szczególności zajrzyj do „Wymaganego miejsca do rejestrowania tempdb”, aby zobaczyć, jakie rodzaje transakcji są rejestrowane w dzienniku tempdb, aby odpowiednio skonfigurować ustawienia. Prawdopodobnie będzie to coś, co z czasem będziesz musiał monitorować i modyfikować.
Jeśli chodzi o authogrowth dla tempdb, niechętnie wyłączyłem to w przeszłości na serwerze raportującym, a zachowanie, którego doświadczyłem, było takie, że spowodowało przerwanie i wycofanie długotrwałej transakcji, co natychmiast zwolniło miejsce w dzienniku, ale może to zależeć od rodzaj transakcji, która w moim przypadku jest masywnym sortowaniem i łączeniem operacji (źle napisane zapytania raportów). Zgadzam się z Aaronem i zaleciłbym unikanie tego, jeśli to możliwe, szczególnie w sytuacjach dużej liczby transakcji.
źródło