Serwisanci dostępni teraz · czynne całą dobę, także w weekendy i świętaWarszawa i okolice · dojazd bezpłatny
Darmowa diagnoza laptopa
Darmowa diagnoza laptopa
Dojazd do klienta bezpłatnie
Dojazd do klienta bezpłatnie
Laptopy zastępcze bezpłatnie
Laptopy zastępcze bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie

Tworzenie publikacji

Termin Definicja
Tworzenie publikacji

Tworzenie publikacji definiuje zestaw obiektów udostępnianych subskrybentom w mechanizmie replikacji.

Publikacja jako definicja zakresu replikacji

W terminologii replikacji programu Microsoft SQL Server publikacja jest obiektem logicznym, który opisuje dane przeznaczone do udostępnienia subskrybentom. Publikacja należy do bazy danych wydawcy, czyli serwera pełniącego rolę Publisher. Nie jest kopią całej bazy danych. Jej zawartość określa się przez dodanie artykułów, a artykułem może być między innymi tabela, widok, procedura składowana albo inny obsługiwany obiekt replikacji. W przypadku tabeli można wskazać również kolumny oraz warunek filtrowania wierszy.

Tworzenie publikacji obejmuje wybór bazy źródłowej, typu replikacji i zestawu artykułów. SQL Server obsługuje między innymi replikację migawkową, transakcyjną oraz scalającą, przy czym ich działanie i wymagania są różne. Replikacja migawkowa przygotowuje zestaw danych według stanu z chwili wykonania migawki. Replikacja transakcyjna przekazuje zmiany zarejestrowane w dzienniku transakcji, a replikacja scalająca pozwala synchronizować zmiany wprowadzane po stronie wydawcy i subskrybentów. Samo utworzenie publikacji nie powoduje jeszcze pełnej synchronizacji odbiorcy; do tego potrzebne są także migawka początkowa, subskrypcja i odpowiedni agent replikacji.

Artykuły, schematy i filtrowanie danych

Najważniejszym elementem publikacji jest lista artykułów. Przy dodawaniu tabeli można określić, czy do subskrybenta ma trafić cała tabela, czy tylko wybrane kolumny. Filtr kolumn ogranicza zakres struktury przekazywanej do odbiorcy, natomiast filtr wierszy ogranicza zbiór rekordów. SQL Server rozróżnia filtry statyczne, których warunek jest taki sam dla wszystkich subskrybentów, oraz parametryzowane filtry wierszy, w których wynik może zależeć od właściwości konkretnej subskrypcji, na przykład wartości parametru przekazanej agentowi.

Przy projektowaniu publikacji trzeba uwzględnić zależności między tabelami. Jeżeli tabela podrzędna zawiera klucz obcy wskazujący tabelę nadrzędną, opublikowanie tylko części powiązanych danych może prowadzić do niespójnego obrazu po stronie subskrybenta. W replikacji transakcyjnej można konfigurować właściwości artykułu dotyczące kopiowania indeksów, ograniczeń, wyzwalaczy i uprawnień. Nie każda opcja jest odpowiednia dla każdego scenariusza, ponieważ na subskrybencie mogą istnieć lokalne indeksy lub obiekty zarządzane niezależnie od wydawcy. Przed utworzeniem publikacji należy również sprawdzić, czy obiekty spełniają wymagania wybranego typu replikacji.

Proces utworzenia i uruchomienia publikacji

Publikację można utworzyć w SQL Server Management Studio za pomocą kreatora New Publication albo programowo przy użyciu procedur składowanych systemu replikacji. Dla publikacji transakcyjnej typowym elementem konfiguracji jest procedura sp_addpublication, po której dodaje się artykuły za pomocą sp_addarticle lub odpowiedniej procedury dla wybranego rodzaju obiektu. W praktyce należy także skonfigurować dystrybutora oraz utworzyć artykuł migawki. Konkretne parametry zależą od wersji SQL Server, rodzaju publikacji, topologii oraz sposobu dostarczania danych.

Po zapisaniu konfiguracji Snapshot Agent generuje pliki migawki zawierające schemat i dane początkowe artykułów. Distribution Agent dostarcza te pliki oraz późniejsze zmiany do subskrybentów w replikacji transakcyjnej. W replikacji scalającej za synchronizację odpowiada Merge Agent. Publikacja może korzystać z subskrypcji wypychanej, w której agent jest uruchamiany po stronie dystrybutora, albo z subskrypcji pobieranej, w której agent działa po stronie subskrybenta. Stan agentów, opóźnienia, błędy dostarczania oraz konflikty należy kontrolować w monitorze replikacji i w historii zadań SQL Server Agent.

Kontrola poprawności i diagnostyka

Poprawnie utworzona publikacja powinna mieć jednoznacznie określonego wydawcę, dystrybutora, bazę publikacji, artykuły oraz sposób inicjalizacji subskrypcji. Podczas testu należy wykonać zmianę danych w tabeli źródłowej i sprawdzić, czy odpowiadająca jej zmiana pojawiła się u subskrybenta zgodnie z oczekiwanym typem replikacji. Warto zweryfikować także operacje wstawiania, aktualizacji i usuwania, działanie filtrów oraz zachowanie kluczy i ograniczeń. Sama obecność publikacji w konfiguracji nie potwierdza jej sprawności, ponieważ agent może być zatrzymany, migawka może być nieaktualna, a dostarczanie transakcji może mieć opóźnienie.

Diagnostyka obejmuje analizę komunikatów Snapshot Agent, Log Reader Agent, Distribution Agent lub Merge Agent, zależnie od użytego modelu. W replikacji transakcyjnej Log Reader Agent odczytuje oznaczone transakcje z dziennika bazy wydawcy i przekazuje je do bazy dystrybucyjnej. Zbyt długie zatrzymanie tego procesu może zwiększać ilość nieprzetworzonych danych w dzienniku. Problemy mogą wynikać również z braku uprawnień, niedostępności folderu migawki, rozbieżności schematu albo konfliktu zmian. Przed zmianą konfiguracji należy zachować opis artykułów i filtrów, ponieważ ich modyfikacja może wymagać ponownej inicjalizacji subskrypcji.

+48 22 100 48 29Zadzwoń teraz · serwisant w 1 godzinę