| Termin | Definicja |
|---|---|
| SYS.DM_DB_MIRRORING_CONNECTIONS | sys.dm_db_mirroring_connections zawiera informacje o połączeniach wykorzystywanych przez przestarzały mechanizm Database Mirroring. SYS.DM_DB_MIRRORING_CONNECTIONS — czym jest ten widok diagnostycznySYS.DM_DB_MIRRORING_CONNECTIONS to dynamiczny widok zarządzania w SQL Server, przeznaczony do obserwowania połączeń wykorzystywanych przez mechanizm Database Mirroring. Rozwiązanie to zostało wycofane z dalszego rozwoju, dlatego w nowych wdrożeniach nie powinno być traktowane jako podstawowy sposób zapewniania odporności baz danych. Sam widok może jednak nadal występować w starszych instalacjach, środowiskach utrzymywanych przez dłuższy czas oraz podczas analizy problemów po migracji lub aktualizacji. Informacje zwracane przez SYS.DM_DB_MIRRORING_CONNECTIONS opisują kanały komunikacji związane z rolami uczestniczącymi w dublowaniu bazy. W praktyce pozwalają sprawdzić, czy instancje próbują się ze sobą komunikować, jaki jest stan takiej komunikacji oraz czy występują objawy zerwania albo niestabilności połączenia. Widok nie przechowuje historii wszystkich zdarzeń i nie zastępuje dzienników. Jest raczej bieżącym obrazem stanu obserwowanego w chwili wykonania zapytania. Warto odróżnić ten widok od informacji o samej bazie, jej plikach, sesjach użytkowników czy zapytaniach obciążających procesor. SYS.DM_DB_MIRRORING_CONNECTIONS koncentruje się na warstwie połączeń używanych przez Database Mirroring. Dzięki temu może być jednym z elementów szerszej diagnozy, ale pojedynczy odczyt nie powinien być interpretowany bez kontekstu konfiguracji, logów i wyników testów komunikacji. SYS.DM_DB_MIRRORING_CONNECTIONS — kontekst techniczny i porównaniaDatabase Mirroring opierał się na utrzymywaniu relacji pomiędzy bazą główną a jej kopią. W zależności od konfiguracji połączenie mogło wspierać przesyłanie rekordów dziennika transakcji, kontrolę stanu partnerów oraz ewentualną zmianę roli. SYS.DM_DB_MIRRORING_CONNECTIONS dostarcza informacji przydatnych przy ocenie, czy ten kanał działa zgodnie z oczekiwaniami. Nie należy jednak zakładać, że obecność wpisu oznacza prawidłową synchronizację całej bazy. W porównaniu z widokami opisującymi sesje użytkowników ten widok dotyczy połączeń wewnętrznych dla określonej funkcji wysokiej dostępności. Z kolei widoki odnoszące się do stanu kopii zapasowych, przesyłania dziennika lub opóźnień replikacji odpowiadają na inne pytania. SYS.DM_DB_MIRRORING_CONNECTIONS może wskazać problem komunikacyjny, lecz nie musi wyjaśnić, czy przyczyną jest opóźnienie zapisu, przeciążenie, błąd certyfikatu, niedostępny port, filtr zapory albo niezgodność ustawień. Istotne jest również rozróżnienie między mechanizmem przestarzałym a nowszymi rozwiązaniami ochrony danych. Jeżeli analizowana instalacja została już przebudowana, wpisy odnoszące się do Database Mirroring mogą mieć znaczenie historyczne lub wynikać z pozostałości konfiguracyjnych. W takim przypadku sprawdzenie SYS.DM_DB_MIRRORING_CONNECTIONS pomaga ustalić, czy stary mechanizm nadal wykonuje aktywne operacje, czy jedynie pozostawiono elementy wymagające uporządkowania. Interpretacja powinna uwzględniać czas wykonania zapytania. Połączenie może chwilowo zniknąć podczas ponownego zestawiania, restartu usługi albo przełączania ról. Pojedynczy odczyt nie jest więc równoważny pełnej diagnozie. Znacznie bardziej miarodajne jest porównanie kilku odczytów wykonanych w różnych momentach oraz zestawienie ich z komunikatami zapisywanymi w dzienniku błędów. SYS.DM_DB_MIRRORING_CONNECTIONS — typowe problemy i objawyJednym z częstszych problemów jest brak oczekiwanego połączenia pomiędzy uczestnikami Database Mirroring. W SYS.DM_DB_MIRRORING_CONNECTIONS może być wtedy widoczny brak odpowiedniego wpisu, stan wskazujący na rozłączenie albo informacja niezgodna z tym, czego oczekuje się po konfiguracji. Przyczyną nie musi być awaria samej bazy. Należy brać pod uwagę niedostępność nazwy hosta, zmianę adresu, zamknięty port, reguły zapory, restart usługi lub błędne parametry punktu końcowego. Inny scenariusz obejmuje połączenie, które jest ustanawiane i zrywane cyklicznie. Takie zachowanie może prowadzić do narastania opóźnień, przejściowych zmian stanu oraz komunikatów o braku synchronizacji. Warto wtedy sprawdzić stabilność sieci, obciążenie zasobów, czas odpowiedzi oraz zgodność ustawień po obu stronach. Jeżeli problem pojawia się tylko w określonych godzinach, przydatne będzie powiązanie odczytów widoku z harmonogramem kopii zapasowych, zadań konserwacyjnych lub zwiększonego ruchu. Możliwe są także problemy z uwierzytelnianiem i zabezpieczeniem kanału. Zmiana certyfikatu, wygaśnięcie uprawnień, modyfikacja konta usługi albo niezgodność konfiguracji punktu końcowego może uniemożliwić prawidłowe nawiązanie komunikacji. W takiej sytuacji SYS.DM_DB_MIRRORING_CONNECTIONS jest źródłem wskazówki, lecz szczegóły należy potwierdzić w komunikatach systemowych i dzienniku błędów SQL Server. Nie należy utożsamiać każdego problemu z połączeniem z uszkodzeniem sprzętu. Błędna konfiguracja, filtracja ruchu lub niespójne nazewnictwo bardzo często daje podobne objawy. Z drugiej strony długotrwałe przerwy, błędy dysku, nagłe restarty i utrata zasilania mogą wtórnie doprowadzić do zerwania sesji. Diagnoza powinna więc obejmować zarówno warstwę programową, jak i podstawową kontrolę systemu, pamięci masowej oraz stabilności pracy komputera. SYS.DM_DB_MIRRORING_CONNECTIONS — praktyczne wskazówki diagnostyczneAnalizę najlepiej rozpocząć od zapisania momentu wystąpienia problemu i wykonania kilku odczytów SYS.DM_DB_MIRRORING_CONNECTIONS. Dobrze jest zachować wynik wraz z godziną, nazwą instancji oraz informacją o aktualnym stanie bazy. Porównanie wyników pozwala odróżnić chwilowe rozłączenie od stałej nieprawidłowości. Warto również sprawdzić, czy obie strony widzą właściwy punkt końcowy i czy usługa SQL Server działa pod oczekiwanym kontem. Przydatne jest zestawienie danych z widoku z dziennikiem błędów SQL Server. Log może zawierać dokładniejszą informację o przyczynie odrzucenia połączenia, problemie z certyfikatem, przekroczeniu czasu oczekiwania lub błędzie punktu końcowego. Należy zapisywać pełną treść komunikatu, a nie tylko jego skrócony opis. Drobny fragment tekstu może wskazać, czy problem leży w sieci, uprawnieniach, konfiguracji czy dostępności usługi. Nie powinno się pochopnie usuwać ani tworzyć punktów końcowych na działającej instalacji. Takie czynności mogą zmienić zachowanie skonfigurowanego mechanizmu i utrudnić późniejszą analizę. Przed zmianą należy wykonać kopię konfiguracji, zanotować bieżący stan oraz ustalić, czy Database Mirroring jest rzeczywiście używany. Jeżeli środowisko jest stare, rozsądne może być zaplanowanie kontrolowanej migracji do aktualnie wspieranej metody, zamiast wielokrotnego przywracania historycznej konfiguracji. Wynik SYS.DM_DB_MIRRORING_CONNECTIONS powinien być traktowany jako część dowodów. Sama obecność lub brak rekordu nie odpowiada na pytanie o bezpieczeństwo danych, poprawność kopii ani możliwość odzyskania bazy. Do pełnej oceny potrzebne są także informacje o kopiach zapasowych, stanie dziennika transakcji, ostatnich błędach i procedurach odtwarzania. SYS.DM_DB_MIRRORING_CONNECTIONS — kiedy zgłosić się do serwisuPomoc serwisowa jest uzasadniona, gdy odczyty SYS.DM_DB_MIRRORING_CONNECTIONS regularnie wskazują rozłączenia, synchronizacja zatrzymuje się bez jasnej przyczyny, a komunikaty w dzienniku pojawiają się po każdym restarcie lub zmianie konfiguracji. Wsparcie może być potrzebne również wtedy, gdy nie ma pewności, czy stary mechanizm jest jeszcze wykorzystywany, albo gdy analiza wymaga bezpiecznego sprawdzenia ustawień sieciowych, usług, uprawnień i nośników danych. W Warszawie takie czynności wykonuje Warszawskie Pogotowie Komputerowe 24/7. Przed przekazaniem sprzętu lub dostępu do środowiska warto przygotować opis objawów, przybliżony czas ich występowania, wyniki odczytów oraz kopie komunikatów z dziennika. Ułatwia to rozdzielenie problemu z połączeniem od problemu z samą bazą i ogranicza ryzyko przypadkowej zmiany działającej konfiguracji. Jeżeli analiza dotyczy starszego komputera, należy poinformować serwis o używanej wersji systemu, SQL Server i Database Mirroring, a także o ostatnich aktualizacjach lub zmianach sieciowych. Tak uporządkowane informacje pomagają rozpocząć pracę od odtworzenia stanu faktycznego i ustalenia, czy potrzebna jest naprawa bieżącego problemu, porządkowanie konfiguracji, czy przygotowanie bezpiecznego przejścia na nowsze rozwiązanie. |