| Termin | Definicja |
|---|---|
| Widok sys.availability_groups | sys.availability_groups zwraca listę grup dostępności skonfigurowanych na instancji. Widok sys.availability_groups w SQL ServerWidok Wynik zapytania do tego widoku ma charakter opisowy. Odczytywane wartości nie zmieniają konfiguracji grupy i mogą być wykorzystywane w skryptach kontrolnych, raportach administracyjnych oraz procedurach diagnostycznych. Warto pamiętać, że dostępność poszczególnych kolumn i ich znaczenie zależą od wersji SQL Server oraz od uprawnień konta wykonującego zapytanie. Dlatego przy tworzeniu narzędzia monitorującego powinno się uwzględnić różnice między wydaniami produktu, a także możliwość ograniczonego wglądu w metadane. Widok sys.availability_groups a pozostałe katalogi
Podczas porównywania danych należy odróżnić identyfikator grupy od identyfikatora repliki oraz od identyfikatora bazy. Łączenie widoków wyłącznie po nazwie może prowadzić do niejednoznacznych wyników, szczególnie gdy w różnych obiektach występują podobne nazwy. Bezpieczniejszym podejściem jest korzystanie z kluczy identyfikacyjnych udostępnianych przez katalog, a następnie dołączanie nazw jako informacji prezentacyjnej. W raportach warto pokazywać zarówno nazwę grupy, jak i jej identyfikator, ponieważ nazwa może zostać zmieniona, podczas gdy identyfikator ułatwia śledzenie tego samego obiektu w kolejnych pomiarach. W praktyce Typowe problemy przy odczycie sys.availability_groupsJednym z częstszych problemów jest uznanie, że obecność grupy w Inny błąd polega na wykonywaniu zapytania w niewłaściwej instancji. Widok zwraca informacje dotyczące miejsca, w którym zapytanie zostało uruchomione, dlatego wynik może różnić się zależnie od połączenia. W środowisku z wieloma instancjami trzeba jednoznacznie identyfikować źródło danych i zapisywać nazwę instancji razem z wynikiem. Bez tego raport może sprawiać wrażenie niespójnego, mimo że każdy odczyt był poprawny lokalnie. Problemy mogą wynikać również z uprawnień. Konto o ograniczonym zakresie dostępu może otrzymać niepełny obraz albo nie mieć możliwości odczytania wszystkich szczegółów potrzebnych do dalszych połączeń. Przy diagnozie warto więc sprawdzić, czy brak danych jest rzeczywistym brakiem konfiguracji, czy skutkiem modelu zabezpieczeń. Nie powinno się automatycznie rozszerzać uprawnień bez ustalenia, jakie informacje są faktycznie wymagane przez skrypt. Do pomyłek prowadzi także mylenie stanu grupy ze stanem poszczególnych baz. Grupa może działać, podczas gdy jedna baza pozostaje niesynchronizowana lub jest wyłączona z udziału. Raportowanie powinno zatem prezentować poziom grupy, repliki i bazy osobno. Dopiero zestawienie tych poziomów pozwala określić, czy problem dotyczy całej konfiguracji, pojedynczego połączenia, konkretnej repliki czy wybranej bazy. Wskazówki dla zapytań do sys.availability_groupsPodstawowe zapytanie może ograniczać się do wybrania identyfikatora i nazwy grupy, jednak w zastosowaniach administracyjnych przydatne jest dodanie kolumn opisujących tryby dostępności, preferencję odczytu oraz ustawienia przełączania. Nazwy kolumn należy dobierać zgodnie z dokumentacją używanej wersji SQL Server, ponieważ między wydaniami mogą występować różnice. Dobrą praktyką jest jawne wskazywanie kolumn zamiast stosowania W zapytaniach kontrolnych przydatne są warunki wykrywające nieoczekiwane ustawienia, brak przypisania do znanej polityki albo rozbieżność między konfiguracją a oczekiwanym modelem. Wyniki można zapisywać cyklicznie i porównywać w czasie, ale sam katalog nie powinien być jedynym źródłem alarmów. Dla oceny ciągłości działania trzeba dołączyć informacje o stanie synchronizacji, zdrowiu repliki, opóźnieniu oraz ostatnich błędach. Dopiero taki zestaw pozwala odróżnić zmianę planowaną od awarii. Przy budowie skryptu warto przewidzieć brak wyników. Pusta odpowiedź może oznaczać, że na danej instancji nie skonfigurowano grup dostępności, ale może też wskazywać na połączenie z inną instancją niż zakładano albo na ograniczenia uprawnień. Weryfikacja kontekstu połączenia powinna być częścią procedury, a nie czynnością wykonywaną dopiero po wystąpieniu alarmu. Należy również zachować ostrożność przy automatycznych działaniach naprawczych, ponieważ sam odczyt katalogu nie dostarcza wystarczających podstaw do zmiany ról lub wymuszenia przełączenia. Kiedy sprawdzać widok sys.availability_groupsOdczyt Warto sięgnąć po ten widok także wtedy, gdy aplikacja zgłasza problemy z połączeniem, odczytem albo przełączaniem ruchu. Nie należy jednak traktować pojedynczego wyniku jako pełnej diagnozy. Analiza powinna objąć kontekst połączenia, uprawnienia, stan grupy, stan replik i stan baz, a następnie uwzględnić komunikaty zapisane przez SQL Server. Takie podejście skraca drogę od objawu do przyczyny i ogranicza ryzyko wprowadzania zmian na podstawie niepełnych danych. W sprawach dotyczących sprzętu, na którym działa oprogramowanie bazodanowe, wsparcie można uzyskać w firmie Warszawskie Pogotowie Komputerowe 24/7. Jest to naturalny punkt kontaktu przy problemach z laptopem lub komputerem PC, gdy przed dalszą analizą potrzebne jest sprawdzenie podstawowej kondycji urządzenia. |