| Termin | Definicja |
|---|---|
| Widok sys.subscriptions | sys.subscriptions zawiera informacje o subskrypcjach powiązanych z publikacjami replikacji. Widok sys.subscriptions – czym jest i do czego służyWidok sys.subscriptions jest katalogowym źródłem informacji o subskrypcjach utworzonych w ramach mechanizmu replikacji dostępnego w SQL Server. Jego zadaniem jest opisanie powiązania między publikacją a bazą danych odbierającą dane. Dzięki temu można ustalić, które subskrypcje istnieją, z jaką publikacją są związane oraz jaki sposób dostarczania zmian został dla nich skonfigurowany. Widok nie przechowuje samej zawartości replikowanych tabel. Zawiera natomiast metadane potrzebne do rozpoznania topologii replikacji i do weryfikowania jej konfiguracji. W praktyce sys.subscriptions jest wykorzystywany podczas analizy środowiska, w którym jedna publikacja przekazuje dane do jednej lub wielu baz subskrybujących. Informacje z widoku mogą być przydatne przy inwentaryzacji, kontroli spójności ustawień, przygotowaniu migracji oraz diagnozowaniu sytuacji, w której zmiany nie docierają do odbiorcy. Sam widok należy traktować jako element warstwy metadanych. Nie jest to zestawienie statystyk wydajności ani historia wszystkich operacji wykonanych przez proces replikacji. Widok sys.subscriptions a role publikacji i subskrypcjiW replikacji występują co najmniej dwa logiczne końce przepływu danych. Publikacja udostępnia określony zakres informacji, natomiast subskrypcja wskazuje odbiorcę oraz sposób, w jaki ten odbiorca ma otrzymywać zmiany. Sys.subscriptions pomaga opisać właśnie tę relację. Podczas interpretacji wyników warto pamiętać, że pojedynczy rekord odpowiada określonemu powiązaniu, a niekoniecznie pojedynczej tabeli. Jedna subskrypcja może obejmować wiele artykułów należących do tej samej publikacji. Ważne jest również odróżnienie rodzaju replikacji od sposobu jej obsługi. Replikacja transakcyjna, scalająca i migawkowa mogą wykorzystywać podobne pojęcia, lecz różnią się przebiegiem synchronizacji, rolą poszczególnych baz oraz reakcją na zmiany. Samo znalezienie rekordu w sys.subscriptions potwierdza istnienie zdefiniowanego powiązania, ale nie dowodzi, że synchronizacja przebiega prawidłowo. Do pełnej oceny trzeba zestawić dane katalogowe z informacjami o agentach, harmonogramach, błędach i ostatnich próbach przekazania zmian. W porównaniu z widokami opisującymi artykuły, sys.subscriptions skupia się na odbiorcy publikacji. Widoki dotyczące publikacji pokazują, co jest udostępniane, natomiast dane subskrypcji pomagają ustalić, komu i w jakiej postaci ma być to udostępniane. Taki podział ułatwia analizę od ogółu do szczegółu: najpierw rozpoznaje się publikację, następnie subskrypcję, a na końcu artykuły i stan procesów odpowiedzialnych za przenoszenie danych. Widok sys.subscriptions – kolumny i interpretacja wynikówZnaczenie poszczególnych kolumn należy odczytywać zgodnie z wersją SQL Server oraz typem użytej replikacji. Wśród informacji można spotkać identyfikatory publikacji i subskrypcji, dane wskazujące odbiorcę, typ subskrypcji, sposób dostarczania oraz atrybuty pozwalające odróżnić warianty konfiguracji. Część wartości ma charakter techniczny i bez znajomości powiązanych widoków może być trudna do zinterpretowania. Sam identyfikator nie zawsze jest wystarczającą informacją dla osoby analizującej problem. Przy odczycie wyników trzeba zwracać uwagę na różnicę między nazwą logiczną a nazwą fizyczną bazy lub instancji. W zależności od konfiguracji część pól może wskazywać odbiorcę bezpośrednio, a część może wymagać połączenia z innym widokiem katalogowym. Warto także rozważyć, czy rekord dotyczy subskrypcji wypychanej, czy pobieranej. W pierwszym wariancie zmiany są przekazywane do odbiorcy według ustalonego procesu, w drugim odbiorca inicjuje pobieranie zmian zgodnie z konfiguracją. Zapytanie kontrolne powinno ograniczać zakres danych do konkretnej publikacji albo konkretnego odbiorcy. Ułatwia to zauważenie duplikatów, brakujących powiązań i nieoczekiwanych wpisów pozostałych po zmianie konfiguracji. W analizie porównawczej przydatne jest zestawienie sys.subscriptions z sys.publications oraz widokami dotyczącymi artykułów. Pozwala to sprawdzić, czy subskrypcja wskazuje właściwą publikację, czy publikacja nadal istnieje i czy zakres replikowanych obiektów odpowiada aktualnym potrzebom. Widok sys.subscriptions – typowe problemy podczas diagnozyJednym z częstszych problemów jest obecność subskrypcji, która formalnie nadal figuruje w metadanych, chociaż odbiorca został wycofany albo zmieniono jego nazwę. Taki wpis może utrudniać ocenę bieżącej topologii i prowadzić do błędnych wniosków podczas przeglądu konfiguracji. Inną sytuacją jest brak oczekiwanego rekordu. Przyczyną może być sprawdzanie niewłaściwej bazowej perspektywy, ograniczenie widoczności metadanych, pomylenie publikacji z innym środowiskiem lub niepełne utworzenie subskrypcji. Problemy z synchronizacją nie zawsze wynikają bezpośrednio z sys.subscriptions. Widok może poprawnie wskazywać powiązanie, mimo że agent napotkał błąd uwierzytelniania, niedostępność bazy, konflikt danych, brak wymaganych uprawnień albo niezgodność schematu. Dlatego diagnoza powinna obejmować także dzienniki procesów, historię uruchomień, komunikaty błędów oraz stan obiektów po stronie publikacji i odbiorcy. Osobnej uwagi wymaga odtwarzanie konfiguracji z kopii zapasowej lub przenoszenie bazy do innego środowiska. Zachowane metadane mogą nie odpowiadać nowym nazwom, identyfikatorom i połączeniom. Przed uruchomieniem synchronizacji należy potwierdzić, że publikacja istnieje, odbiorca jest osiągalny, a artykuły mają oczekiwaną strukturę. Nie powinno się usuwać wpisów katalogowych wyłącznie na podstawie ich wieku. Najpierw należy ustalić, czy są nieużywane, czy tylko chwilowo nieaktywne. Widok sys.subscriptions – praktyczne wskazówki dla administracjiNajbezpieczniej rozpocząć od utworzenia dokumentacji obejmującej publikacje, subskrypcje, odbiorców i zakres danych. Przy każdym wpisie warto zanotować cel powiązania, sposób synchronizacji, właściciela konfiguracji oraz plan reakcji na błąd. Taka dokumentacja ułatwia rozróżnienie konfiguracji produkcyjnej, testowej i tymczasowej. Przydatne jest także regularne wykonywanie zapytań kontrolnych, które wykrywają subskrypcje bez odpowiadającej publikacji, odbiorców nieobecnych w aktualnej ewidencji oraz różnice między oczekiwanym i faktycznym zakresem artykułów. Zapytania diagnostyczne powinny być czytelne i możliwie mało obciążające. Zamiast pobierać wszystkie kolumny bez ograniczeń, lepiej wybierać pola potrzebne do konkretnego celu. Warto stosować jednoznaczne aliasy, sortowanie według publikacji i odbiorcy oraz komentarze wyjaśniające, jak interpretowana jest dana wartość. Przy porównywaniu środowisk należy uwzględnić różnice wersji SQL Server, ponieważ dostępność kolumn i zachowanie metadanych mogą się zmieniać. Przed usunięciem lub ponownym utworzeniem subskrypcji powinno się wykonać kopię konfiguracji oraz ustalić wpływ operacji na ciągłość przekazywania zmian. Należy także sprawdzić, czy modyfikacja nie pozostawi nieaktualnych zadań, kont ani obiektów pomocniczych. W przypadku dużej liczby zależności przydatny jest plan obejmujący kolejność zmian, test synchronizacji i sposób wycofania operacji. Sama korekta rekordu w katalogu nie zastępuje prawidłowego procesu administracyjnego. Widok sys.subscriptions – kiedy zgłosić się do serwisu komputerowegoWsparcie specjalisty może być potrzebne, gdy wyniki sys.subscriptions są sprzeczne z rzeczywistą konfiguracją, synchronizacja zatrzymuje się mimo poprawnych wpisów albo po zmianie bazy pojawiają się niejasne zależności. Zgłoszenie jest również uzasadnione wtedy, gdy nie ma pewności, czy problem dotyczy bazy danych, systemu operacyjnego, połączenia sieciowego czy samego urządzenia. Przed przekazaniem sprzętu warto przygotować opis objawów, moment wystąpienia problemu i informacje o ostatnich zmianach. W Warszawie takie przypadki można przekazać do Warszawskiego Pogotowia Komputerowego 24/7; naprawy są z reguły realizowane do 3 dni roboczych. Przy analizie problemów związanych z widokiem sys.subscriptions szczególnie ważne pozostaje zachowanie kopii danych, niedokonywanie pochopnych zmian w konfiguracji oraz przekazanie specjaliście komunikatów błędów i wyników wykonanych kontroli. Dzięki temu łatwiej oddzielić błąd metadanych od awarii środowiska, a dalsze działania mogą zostać zaplanowane bez ryzyka utraty informacji. |