| Termin | Definicja |
|---|---|
| Awaria SQL Server | Awaria SQL Server to zdarzenie uniemożliwiające prawidłowe działanie tego systemu zarządzania bazami danych. Na czym polega awaria SQL ServerAwaria SQL Server oznacza stan, w którym instancja Microsoft SQL Server, konkretna baza danych albo mechanizm obsługujący połączenia nie wykonuje prawidłowo swoich zadań. Objawem może być całkowity brak dostępu do serwera, niemożność uruchomienia usługi SQL Server, odrzucanie połączeń przez aplikacje, błędy odczytu i zapisu danych, bardzo długie wykonywanie zapytań albo przejście bazy do stanu suspect, recovery pending lub emergency. Awaria nie zawsze oznacza uszkodzenie plików bazy. Przyczyną może być także brak miejsca na woluminie, niedostępność systemu plików, blokady transakcji, wyczerpanie pamięci, błędna konfiguracja usługi lub problem z zależnością sieciową. SQL Server przechowuje bazę przede wszystkim w plikach danych z rozszerzeniem Objawy widoczne w usłudze, bazie i połączeniuPierwszym źródłem informacji jest SQL Server Error Log oraz Podgląd zdarzeń systemu Windows. W logu SQL Server mogą pojawić się komunikaty o nieudanym odzyskiwaniu bazy, błędach wejścia-wyjścia, braku uprawnień do pliku, niemożności otwarcia pliku bazy, przekroczeniu limitu dziennika lub zakończeniu procesu z powodu błędu. Do odczytu logu z poziomu połączenia administracyjnego można użyć procedury Błąd połączenia nie musi oznaczać uszkodzenia danych. Klient może próbować połączyć się z niewłaściwą instancją, używać nieprawidłowego portu albo wymagać protokołu, który nie jest włączony w konfiguracji SQL Server. W przypadku instancji domyślnej często używany jest port TCP 1433, ale numer portu może być zmieniony. Instancje nazwane mogą korzystać z portów dynamicznych, a usługa SQL Server Browser pomaga klientom ustalić port dla instancji nazwanej. Rozróżnienie błędu sieciowego od błędu uwierzytelniania i błędu stanu bazy wymaga analizy dokładnego kodu komunikatu, parametrów połączenia oraz logu serwera. Bezpieczna kolejność czynności diagnostycznychNajpierw należy zabezpieczyć stan zastany: odnotować czas wystąpienia problemu, komunikaty, ostatnie zmiany konfiguracyjne oraz dostępne kopie zapasowe. Nie powinno się rozpoczynać od usuwania plików Integralność logiczną i fizyczną sprawdza się poleceniem Odtworzenie działania i kontrola po awariiPo usunięciu bezpośredniej przyczyny trzeba sprawdzić nie tylko możliwość zalogowania się do instancji, lecz także pełny przepływ pracy aplikacji. Kontroli wymagają stan bazy, dostępność użytkowników i ról, wykonywanie odczytów oraz zapisów, działanie zadań SQL Server Agent, poprawność harmonogramów kopii zapasowych i dostępność przestrzeni dla kolejnych plików dziennika. Jeżeli awaria wynikała z przepełnienia logu, należy ustalić przyczynę jego wzrostu, na przykład długo trwającą transakcję albo brak kopii dziennika w modelu odzyskiwania Po zakończeniu diagnostyki należy wykonać kontrolowaną kopię zapasową oraz zweryfikować jej odtwarzalność na przeznaczonym do tego środowisku. Warto również przeanalizować zależności między serwerem SQL Server, aplikacją, usługą systemową i pamięcią masową, ponieważ ponowny start usługi może chwilowo ukryć problem. Dokumentacja powinna zawierać nazwę instancji, lokalizacje plików, model odzyskiwania baz, harmonogram kopii, ostatnie komunikaty z Error Log oraz czynności wykonane podczas przywracania. Takie dane pozwalają odróżnić jednorazowe zatrzymanie procesu od powtarzalnej awarii wymagającej korekty konfiguracji, infrastruktury dyskowej albo procedur tworzenia i testowania kopii zapasowych. |