| Termin | Definicja |
|---|---|
| Widok sys.dm_hadr_cluster | sys.dm_hadr_cluster zwraca informacje o klastrze wykorzystywanym przez grupy dostępności Always On. Miejsce widoku w architekturze Always On
Widok jest przydatny dlatego, że pozwala oddzielić problemy samej bazy od problemów środowiska wysokiej dostępności. Jeżeli zapytania do bazy działają poprawnie, ale występują przełączenia ról, brak automatycznego failoveru albo ostrzeżenia dotyczące kworum, warto sprawdzić zarówno stan replik, jak i informacje udostępniane przez Wśród informacji zwracanych przez ten widok znajdują się dane identyfikujące środowisko oraz stan kworum. W zależności od wersji SQL Server i modelu wdrożenia można spotkać kolumny opisujące nazwę środowiska, rodzaj kworum, stan kworum oraz odpowiadające im wartości tekstowe. Nazwy i dostępność poszczególnych kolumn trzeba potwierdzić w dokumentacji wersji używanej instancji, ponieważ widoki systemowe mogą rozszerzać się między wydaniami produktu. Kworum jest mechanizmem podejmowania decyzji, czy wystarczająca część uczestników środowiska może uznać je za działające. Jego stan ma znaczenie dla bezpiecznego utrzymania ról i automatycznego przełączania. Sam fakt, że instancja SQL Server odpowiada na zapytania, nie oznacza jeszcze, że warunki do automatycznego przejęcia roli są spełnione. Dlatego odczyt z tego widoku może wyjaśnić, dlaczego grupa dostępności działa w trybie ograniczonym mimo poprawnej pracy lokalnej instancji. Jak czytać wynik i z czym go zestawiaćNajprostsza diagnostyka polega na wykonaniu zapytania odczytującego wszystkie kolumny widoku, na przykład przez Informacje o środowisku należy porównywać z widokiem Wynik z Warto też rozróżnić konfigurację grupy dostępności od bieżącego stanu. Nazwa środowiska, rodzaj kworum lub typ koordynacji opisują model działania, natomiast stan kworum informuje o aktualnej ocenie dostępności uczestników. Prawidłowa konfiguracja nie gwarantuje prawidłowego stanu w chwili awarii sieci, zatrzymania usługi lub utraty komunikacji między instancjami. Diagnostyka powinna więc obejmować co najmniej dwa momenty: czas wystąpienia problemu oraz stan po jego ustąpieniu. Widok może być używany w skryptach monitorujących, ale alarm powinien uwzględniać kontekst. Chwilowa zmiana stanu podczas kontrolowanego restartu nie ma takiego znaczenia jak powtarzające się przejścia do stanu nieprawidłowego połączone z rozłączeniami replik. Dobrze zaprojektowany monitoring zapisuje czas odczytu, nazwę instancji, rezultat zapytań dotyczących grup i replik oraz komunikaty z dzienników. Bez tych danych późniejsze odtworzenie przebiegu zdarzeń jest trudniejsze. Co może oznaczać nieoczekiwany rezultatBrak oczekiwanego wiersza albo błąd podczas odczytu nie musi oznaczać uszkodzenia SQL Server. Przyczyną może być użycie wersji produktu, która nie udostępnia danej kolumny, połączenie z inną instancją niż zakładana, brak funkcji Always On w danej edycji lub ograniczenie uprawnień użytkownika. Zanim wynik zostanie uznany za dowód awarii, należy potwierdzić nazwę instancji, wersję SQL Server, bazę kontekstu oraz konto wykonujące zapytanie. Nieprawidłowy stan kworum może wiązać się z utratą komunikacji, niedostępnością uczestnika, problemem z usługą koordynującą albo nieplanowaną zmianą konfiguracji. Z punktu widzenia SQL Server może to skutkować brakiem automatycznego przełączenia, zatrzymaniem określonych operacji związanych z rolą lub koniecznością ręcznej interwencji administratora. Nie należy jednak wyciągać wniosku, że każda wartość ostrzegawcza oznacza utratę danych. Ochrona danych zależy między innymi od trybu synchronizacji, potwierdzenia zapisów i aktualnego stanu baz na replikach. Częstym błędem diagnostycznym jest sprawdzanie wyłącznie nazwy środowiska i pomijanie stanu replik. Sama obecność prawidłowej nazwy nie potwierdza, że wszystkie instancje widzą się wzajemnie ani że bazy są zsynchronizowane. Innym błędem jest traktowanie statusu grupy jako statusu pojedynczej bazy. Grupa może być dostępna, gdy jedna z baz ma problem z synchronizacją, odzyskiwaniem albo stanem lokalnym. Wątpliwości może budzić także różnica między stanem odczytanym obecnie a komunikatem zapisanym wcześniej w dzienniku. DMV pokazuje stan bieżący, a nie pełną historię. Po przywróceniu komunikacji wynik może wyglądać poprawnie, mimo że wcześniej doszło do przerwy lub przełączenia. Do analizy incydentu trzeba zatem zachować logi, znaczniki czasu i informacje o wykonanych działaniach administracyjnych. Wersja SQL Server ma znaczenie również przy przenoszeniu skryptów między środowiskami. Zapytanie odwołujące się do kolumny dostępnej w nowszym wydaniu może zakończyć się błędem na starszej instancji. Bezpiecznym podejściem jest sprawdzenie metadanych widoku i napisanie zapytania pod konkretną wersję, zamiast zakładania, że wszystkie instalacje mają identyczny zestaw pól. Granica między odczytem diagnostycznym a interwencjąSamodzielny odczyt Wsparcie specjalisty jest szczególnie potrzebne, gdy stan kworum zmienia się cyklicznie, przełączenia następują bez planowanej konserwacji, replika pozostaje niedostępna albo aplikacje zgłaszają błędy połączeń mimo pozornie poprawnego stanu grupy. W takich sytuacjach trzeba prześledzić zależności między SQL Server, systemem operacyjnym, komunikacją sieciową, nazwami usług i konfiguracją aplikacji. Pojedyncze zapytanie do DMV może rozpocząć analizę, ale nie zastąpi pełnej weryfikacji środowiska. Warto również zachować ostrożność przy zgłoszeniach dotyczących laptopa lub komputera, z którego wykonywana jest administracja. Jeżeli problem polega na zawieszaniu się systemu, błędach dysku, uszkodzeniu pamięci, problemach z zasilaniem albo niestabilnym działaniu aplikacji narzędziowej, Warszawskie Pogotowie Komputerowe może zająć się fizyczną naprawą laptopa, komputera stacjonarnego lub jego podzespołów, a także podstawowym odzyskiem danych z uszkodzonego nośnika. Przed przekazaniem sprzętu do diagnostyki warto zanotować komunikaty, godziny wystąpienia problemu i zakres utraconej funkcjonalności. Nie należy usuwać logów ani wielokrotnie restartować urządzenia, jeżeli podejrzewana jest awaria nośnika. Rozdzielenie awarii sprzętu używanego do administracji od problemu samego SQL Server pozwala szybciej ustalić, czy źródło zakłóceń znajduje się w komputerze klienta, połączeniu, czy w środowisku bazodanowym. |