| Termin | Definicja |
|---|---|
| Widok msdistribution_status | Widok msdistribution_status prezentuje stan dystrybucji danych w mechanizmie replikacji. Widok msdistribution_status — czym jest i gdzie działaWidok W praktyce msdistribution_status w kontekście przepływu poleceńPrzepływ danych w replikacji transakcyjnej można uprościć do kilku etapów. Zmiana zostaje wykonana w bazie publikacji, następnie agent dziennika odczytuje odpowiednie informacje i zapisuje polecenia w bazie dystrybucyjnej. Kolejny agent przekazuje te polecenia do właściwego subskrybenta. Widok Ważne jest rozróżnienie między liczbą poleceń a liczbą wierszy danych. Jedna operacja użytkownika może spowodować utworzenie wielu poleceń, a większa operacja na tabeli może mieć inny rozkład niż pojedynczy zapis. Dlatego wartości z widoku nie powinny być automatycznie interpretowane jako liczba zmienionych rekordów. Są raczej miarą pracy pozostającej do wykonania albo pracy już wykonanej przez określony fragment mechanizmu dystrybucji. Wynik warto porównywać w czasie. Pojedynczy odczyt pokazuje tylko chwilowy stan kolejki. Seria odczytów wykonanych w odstępach czasu pozwala ocenić, czy liczba nieprzekazanych poleceń maleje, rośnie, czy pozostaje na podobnym poziomie. Malejąca kolejka zwykle wskazuje na postęp agenta. Kolejka rosnąca może oznaczać, że tempo napływu zmian jest większe niż tempo ich przekazywania albo że agent napotyka problem podczas pracy. Kolumny widoku msdistribution_status i ich znaczenieDokumentacja widoku wskazuje cztery podstawowe kolumny, które są istotne podczas analizy:
Identyfikatory nie powinny być czytane w oderwaniu od konfiguracji replikacji. Sam numer Nie należy zakładać, że Typowe problemy widoczne przez msdistribution_statusJednym z częstszych przypadków jest narastająca liczba nieprzekazanych poleceń. Przyczyną może być zatrzymany agent dystrybucji, błąd połączenia z subskrybentem, niedostępność bazy docelowej lub problem z uprawnieniami. Podobny obraz może powstać wtedy, gdy agent działa, ale wykonuje operacje znacznie wolniej niż zwykle. W takiej sytuacji sam widok pokazuje objaw, a nie pełną przyczynę. Inny przypadek to kolejka, która zmniejsza się bardzo powoli mimo ciągłej pracy agenta. Warto wtedy sprawdzić obciążenie procesora i pamięci, opóźnienia dyskowe, blokady, czas wykonywania poleceń oraz dostępność połączenia między bazą dystrybucyjną a subskrybentem. Znaczenie może mieć również rozmiar i charakter zmian. Operacje dotyczące dużej liczby danych mogą wymagać znacznie więcej czasu niż pojedyncze modyfikacje. Może pojawić się także niespójność między oczekiwaniami a wynikiem odczytu. Wpisy mogą być grupowane według artykułu i agenta, dlatego suma z jednego zestawienia nie zawsze będzie bezpośrednio odpowiadała wartości obserwowanej w innym narzędziu. Różnice mogą wynikać z momentu wykonania zapytań, sposobu agregacji albo zakresu uwzględnionych obiektów. Porównanie powinno uwzględniać identyfikatory, czas pomiaru i kontekst konkretnej topologii. Nie powinno się usuwać rekordów z obiektów systemowych ani próbować zmieniać danych widoku. Bezpieczniejsza jest analiza historii komunikatów agenta, stanu zadań, dzienników SQL Server oraz zależności między publikacją, dystrybucją i subskrypcją. Dopiero po ustaleniu źródła problemu można rozważyć działanie naprawcze, takie jak przywrócenie połączenia, usunięcie blokady lub ponowne uruchomienie właściwego składnika. Kiedy sprawdzić msdistribution_status i jak przygotować zgłoszenieOdczyt widoku jest szczególnie przydatny, gdy dane docierają do subskrybenta z opóźnieniem, raport korzysta z nieaktualnych informacji, agent zgłasza błędy albo liczba poleceń oczekujących rośnie bez wyraźnego powodu. Przed rozpoczęciem diagnostyki warto zapisać moment wystąpienia problemu, nazwę bazy dystrybucyjnej, identyfikatory artykułu i agenta oraz kilka kolejnych wyników odczytu. Przydatne są również komunikaty z historii agenta, informacje o ostatnim udanym przebiegu i opis tego, czy problem dotyczy wszystkich subskrybentów, czy tylko jednego. Zapytanie diagnostyczne powinno być odczytowe i ograniczać zakres danych do potrzebnej analizy. Warto używać jawnie wskazanych kolumn zamiast pobierać cały widok, a wynik porządkować według identyfikatora artykułu i agenta. Jeżeli obserwacja ma służyć porównaniu w czasie, należy wykonywać ją według tego samego schematu i zapisywać datę pomiaru. Taka dokumentacja ułatwia odróżnienie chwilowego spiętrzenia pracy od trwałej awarii przepływu. W przypadku problemów ze sprzętem, systemem operacyjnym lub lokalnym środowiskiem, które utrudniają dostęp do narzędzi administracyjnych, można skorzystać z pomocy firmy Warszawskie Pogotowie Komputerowe 24/7. Przed przekazaniem urządzenia lub danych warto przygotować opis objawów i kopię komunikatów, bez ujawniania haseł ani kluczy dostępowych. Dzięki temu analiza widoku |