| Termin | Definicja |
|---|---|
| Awaria tempdb | Awaria tempdb to problem dotyczący tymczasowej bazy systemowej wykorzystywanej przez SQL Server do operacji pośrednich. Rola tempdb w działaniu SQL Server
Awaria Objawy i mechanizmy typowej awariiJednym z najczęstszych symptomów jest komunikat o braku miejsca w Przyczyną może być także niekontrolowany przyrost obiektów tymczasowych tworzonych przez aplikację, długotrwała transakcja blokująca zwalnianie wersji wierszy lub zapytanie wymagające dużego obszaru roboczego. Do obciążenia przyczyniają się między innymi sortowania, operatory Inny rodzaj problemu występuje przy nieprawidłowym rozmieszczeniu plików danych i pliku dziennika transakcji. Zbyt mała liczba plików danych, nierówne rozmiary początkowe lub automatyczny przyrost ustawiony w niepraktyczny sposób mogą zwiększać rywalizację o strony alokacji. W starszych konfiguracjach widoczne są wtedy oczekiwania związane z Rozpoznanie źródła problemu w instancjiDiagnostykę należy rozpocząć od ustalenia, czy problem dotyczy miejsca, wydajności, alokacji, blokowania czy integralności plików. Widoki katalogowe SQL Server pozwalają sprawdzić rozmiary plików Warto przeanalizować dziennik błędów SQL Server i historię zdarzeń systemowych. Komunikaty o niemożności powiększenia pliku, błędach wejścia-wyjścia, przekroczeniu limitu rozmiaru lub nieudanym otwarciu ścieżki wskazują na różne klasy przyczyn. Błędy wejścia-wyjścia wymagają sprawdzenia urządzenia i systemu plików, natomiast komunikaty o oczekiwaniach lub wysokim zużyciu przestrzeni wymagają korelacji z aktywnymi sesjami i konkretnymi zapytaniami. Nie należy usuwać plików Przy analizie obciążenia trzeba sprawdzić sesje zużywające przestrzeń tymczasową, długo trwające transakcje oraz zapytania oczekujące na zapis lub odczyt. Monitorowanie powinno obejmować także czas opóźnień dyskowych, przepustowość woluminu i częstotliwość automatycznego przyrostu. Jeżeli awaria powtarza się po restarcie, sam restart może tylko chwilowo usunąć zawartość Bezpieczne przywrócenie pracy i zapobieganie powtórceUsuwanie skutków awarii powinno rozpocząć się od zabezpieczenia informacji diagnostycznych: komunikatów błędów, czasu zdarzenia, stanu plików i listy aktywnych sesji. Następnie można usunąć źródło nadmiernego zużycia przestrzeni, zwolnić miejsce na właściwym woluminie, skorygować rozmiary plików lub zaplanować kontrolowany restart usługi, jeżeli baza nie może zostać ponownie otwarta. Zmiany konfiguracji muszą uwzględniać wszystkie pliki danych oraz plik dziennika, a także przewidywane obciążenie instancji. Profilaktyka obejmuje dobranie początkowych rozmiarów plików, ustawienie przewidywalnych przyrostów oraz zapewnienie wystarczającego zapasu przestrzeni. W instalacjach o dużym obciążeniu analizuje się rozmieszczenie plików na odpowiednio wydajnych woluminach, równomierność ich rozmiarów i występowanie oczekiwań alokacyjnych. Równolegle należy optymalizować zapytania generujące duże wyniki pośrednie, kontrolować długość transakcji i obserwować mechanizmy wersjonowania wierszy. Diagnostyka powinna rozróżniać awarię samej bazy tymczasowej od problemu aplikacji, systemu operacyjnego, dysku lub całej instancji SQL Server. Pochopne usuwanie plików, ręczne kopiowanie ich między lokalizacjami albo zwiększanie rozmiaru bez sprawdzenia przyczyny może doprowadzić do kolejnych błędów. W środowisku, w którym |