| Termin | Definicja |
|---|---|
| Parametry serwera | Parametry serwera to ustawienia konfiguracyjne instancji zmieniane poleceniem sp_configure. Parametry serwera jako zestaw ustawień konfiguracyjnychParametry serwera to uporządkowany zbiór ustawień, które określają sposób działania instancji systemu zarządzania bazą danych. W przypadku Microsoft SQL Server część tych ustawień można odczytywać i modyfikować za pomocą procedury systemowej Warto odróżnić parametry instancji od ustawień bazy danych, konfiguracji konkretnej sesji oraz opcji zapisanych w plikach konfiguracyjnych systemu operacyjnego. Parametr instancji działa szeroko i może wpływać na wiele baz obsługiwanych przez ten sam silnik. Ustawienie sesyjne obowiązuje natomiast tylko dla określonego połączenia, a opcja zapytania może zmienić zachowanie pojedynczej instrukcji. Takie rozróżnienie pomaga ograniczyć zakres zmian i uniknąć sytuacji, w której korekta wykonana z myślą o jednym zadaniu modyfikuje pracę całego środowiska. Nie wszystkie parametry są dostępne do zmiany w każdej wersji produktu. Część opcji jest przestarzała, część ma znaczenie wyłącznie w określonych trybach pracy, a niektóre wymagają dodatkowego uaktywnienia za pomocą Znaczenie parametrów serwera dla pamięci, procesora i zapytańNajczęściej analizowane parametry serwera dotyczą pamięci operacyjnej. Ustawienie maksymalnego lub minimalnego limitu pamięci pozwala określić, jak dużą część dostępnych zasobów może zajmować silnik bazy danych. Zbyt niski limit może prowadzić do częstego odczytu danych z dysku i zwiększać czas wykonywania zapytań. Zbyt wysoka wartość może z kolei ograniczyć zasoby pozostające dla systemu operacyjnego, sterowników, usług pomocniczych i innych programów. Prawidłowa wartość zależy od całego obciążenia, a nie wyłącznie od ilości zainstalowanej pamięci. Inna grupa ustawień wiąże się z równoległością. Parametry określające próg kosztu dla planu równoległego oraz maksymalny stopień równoległości wpływają na to, czy zapytanie może zostać podzielone na kilka zadań wykonywanych jednocześnie. Równoległość bywa korzystna przy obszernych operacjach analitycznych, lecz przy krótkich zapytaniach transakcyjnych może powodować niepotrzebne zużycie procesora i narzut związany z koordynacją zadań. Dlatego sama zmiana limitu nie powinna być traktowana jako uniwersalne przyspieszenie. Parametry serwera mogą też sterować działaniem mechanizmów zgodności, obsługą procedur systemowych, śledzeniem błędów oraz wybranymi funkcjami administracyjnymi. Przed modyfikacją należy sprawdzić dokumentację odpowiedniej wersji SQL Server, ponieważ identyczna nazwa może mieć inne znaczenie w różnych wydaniach, a ustawienie uznane dawniej za potrzebne może obecnie nie przynosić korzyści. Istotne jest również ustalenie, czy problem dotyczy konfiguracji instancji, czy raczej indeksów, statystyk, blokad albo konstrukcji samego zapytania. Typowe problemy związane z parametrami serweraJednym z częstych problemów jest zmiana wartości bez zachowania informacji o stanie początkowym. Bez kopii konfiguracji trudno później ustalić, która modyfikacja wpłynęła na wydajność lub stabilność. Przed wykonaniem polecenia warto zapisać bieżące wartości, datę zmiany, powód oraz osobę odpowiedzialną za działanie. Przydatny jest także opis oczekiwanego efektu i sposób jego sprawdzenia. Sama obserwacja, że aplikacja działa szybciej lub wolniej, nie zawsze wystarcza do wiarygodnej oceny. Drugim problemem bywa ustawienie wartości poza zakresem uzasadnionym przez rzeczywiste obciążenie. Przykładowo wysoki limit pamięci nie naprawi błędnego planu zapytania, brakujących indeksów ani blokad transakcyjnych. Podobnie zwiększenie równoległości nie rozwiąże problemu wolnego nośnika, nieefektywnego filtrowania danych czy niewłaściwego typu kolumny. Parametr może jedynie zmienić sposób wykorzystania zasobów, ale nie zastępuje analizy przyczyny. W praktyce spotyka się również rozbieżność między konfiguracją zapisaną a konfiguracją aktualnie używaną. Procedura
Praktyczne wskazówki dotyczące parametrów serweraBezpieczne podejście zaczyna się od rozpoznania środowiska. Należy ustalić wersję i edycję SQL Server, liczbę baz, typ aplikacji, charakter obciążenia oraz okresy największego ruchu. Inaczej ocenia się parametry w systemie obsługującym krótkie operacje użytkowników, a inaczej w środowisku wykonującym długie raporty. Ważne są także zasoby współdzielone z innymi usługami oraz ograniczenia narzucone przez system operacyjny. Do odczytu ustawień można wykorzystać zapytania systemowe oraz procedurę
Po włączeniu wybranych opcji zaawansowanych możliwe jest sprawdzenie dodatkowych pozycji konfiguracyjnych. Zmiana powinna być wykonywana świadomie, z użyciem wartości dopasowanej do obserwowanego problemu. Warto pamiętać, że parametry przyjmują różne jednostki oraz zakresy. Limit pamięci może być podawany w określonych jednostkach, ustawienia czasu mogą oznaczać sekundy lub minuty, a wartości logiczne często są reprezentowane przez zero i jeden. Błąd interpretacji jednostki może skutkować zmianą znacznie większą albo mniejszą od zamierzonej. Po modyfikacji należy wykonać kontrolowany test, a następnie porównać wyniki z pomiarem bazowym. Dobrą praktyką jest zmiana jednego istotnego parametru naraz, ponieważ jednoczesne modyfikowanie kilku wartości utrudnia ustalenie, która z nich przyniosła efekt. Jeżeli zmiana pogarsza działanie, powinien istnieć opisany sposób powrotu do poprzedniej konfiguracji. W systemach o wysokim znaczeniu operacyjnym takie działania powinny być planowane poza okresem największego obciążenia i poprzedzone sprawdzeniem kopii zapasowych. Kiedy zgłosić się w sprawie parametrów serweraDo konsultacji warto zgłosić się wtedy, gdy po zmianie parametrów pojawiają się błędy, niestabilność usługi, nagłe zużycie pamięci, długie oczekiwanie na wykonanie zapytań albo powtarzające się komunikaty o braku zasobów. Pomoc jest szczególnie przydatna, gdy nie wiadomo, czy przyczyną jest ustawienie instancji, konfiguracja systemu, stan nośnika, problemy z siecią czy konstrukcja aplikacji. Przed przekazaniem sprawy dobrze przygotować opis objawu, czas jego występowania, wykonane zmiany oraz dostępne komunikaty diagnostyczne. W Warszawie przy sprawach dotyczących sprzętu komputerowego można skontaktować się z firmą Warszawskie Pogotowie Komputerowe 24/7. Zakres zgłoszenia warto opisać konkretnie, wskazując model urządzenia, objawy oraz to, czy problem pojawił się po zmianie ustawień. Dzięki temu łatwiej rozdzielić awarię sprzętową od błędu konfiguracji i dobrać dalsze czynności diagnostyczne. Jeżeli problem dotyczy wyłącznie wartości konfiguracyjnej, nie należy od razu zmieniać wielu ustawień jednocześnie. Bezpieczniej zachować bieżący stan, zebrać wyniki pomiarów i ustalić zależności między objawem a konkretnym parametrem. W przypadku powtarzających się awarii potrzebna może być szersza kontrola całego środowiska, obejmująca logi, obciążenie zasobów, plany zapytań, blokady oraz poprawność kopii zapasowych. |