Transakcyjne jak działa replikacja

replikacja transakcyjnej jest implementowana przez SQL Server Agent migawki, Agent odczytywania dziennikai dystrybucji agenta.Agent migawka przygotowuje migawkę plików zawierających schemat i dane opublikowane tabele i obiekty bazy danych, przechowuje pliki w folderze migawka i rejestruje zadań synchronizacji w baza danych dystrybucji na dystrybutora.

Agent czytnik dziennika monitoruje dziennik transakcji każdej bazy danych, skonfigurowane dla replikacja transakcyjna i kopiuje transakcje zaznaczone do replikacja z dziennika transakcji do baza danych dystrybucji, która działa jako wiarygodne kolejki przechowywanie i przekazywanie.Kopie dystrybucji agenta migawka początkowa pliki z folderu snapshot i transakcji przechowywanych w tabelach baza danych dystrybucji do subskrybentów.

Przyrostowe zmiany przepływu Wydawca subskrybentom zgodnie z harmonogramem agenta dystrybucji, które można uruchomić nieprzerwanie dla minimalny opóźnienie lub zaplanowanych interwałach.Ponieważ zmiany danych muszą być przeprowadzone w wydawcy (po replikacja transakcyjna jest używana bez aktualizowania natychmiastowe lub opcje aktualizowania w kolejce), unika się konfliktów update.Ostatecznie, wszystkim subskrybentom będzie osiągnąć te same wartości, jako Wydawca.Jeśli są używane natychmiastowej aktualizacji lub w kolejce opcje aktualizowania z replikacja transakcyjna, aktualizacje mogą być dokonywane przez subskrybenta i aktualizacji w kolejce, może wystąpić konflikt.Aby uzyskać więcej informacji, zobacz Jak aktualizowalna pracy subskrypcji.

Na poniższej ilustracji przedstawiono główne składniki replikacja transakcyjna.

Składniki replikacji transakcyjnej i przepływ danych

Początkowe Dataset.

Zanim nowy replikacja transakcyjna subskrybent może odbierać zmiany przyrostowe od wydawcy, abonent musi zawierać tabele z tego samego schematu i danych jako tabele przez wydawcę.Początkowego zestawu danych jest zazwyczaj tworzona przez agenta migawka i rozprowadzane i stosowane przez agenta dystrybucji migawka.Początkowego zestawu danych mogą być także podane przy użyciu kopia zapasowa lub inne środki, takie jak SQL Server usług integracji.Aby uzyskać więcej informacji, zobacz Inicjowanie subskrypcji.

Gdy migawki są dystrybuowane i stosowane do subskrybentów, dotyczy subskrybenci oczekiwanie początkowe migawek.Nie wpływa to na innych subskrybentów publikacja (te, które już zainicjowany).

Równoczesne przetwarzanie migawki

Replikacja migawka umieszcza blokady współużytkowane na wszystkie tabele opublikowane jako część replikacji na czas trwania pokolenia migawka.Uniemożliwi aktualizacje dokonywana na publikowanie tabel.Migawki równoczesne przetwarzanie domyślne z replikacja transakcyjna, jest nie ładowni udział blokuje w miejsce podczas generowania migawkę całego, który pozwala użytkownikom na kontynuowanie pracy bez przerw podczas replikacja tworzy pliki początkową migawkę.

Agent migawki

Procedury, według których Agent migawki implementuje początkową migawkę w replikacja transakcyjna są te same procedury wykorzystywane w replikacja migawki (z wyjątkiem przedstawionej powyżej w odniesieniu do przetwarzania równoczesnych migawki).Aby uzyskać więcej informacji, zobacz Jak działa replikacja migawki.

Po wygenerowaniu migawek plików można je przeglądać za pomocą folderu migawka Microsoft Windows Explorer.

Modyfikowanie danych oraz Agent odczytywania dziennika

Agent odczytywania dziennika Uruchamia u dystrybutora; to zwykle działa w sposób ciągły, ale można także uruchomić zgodnie z harmonogramem ustanowieniu.Podczas wykonywania, Agent odczytywania dziennika najpierw odczytuje publikacja dziennika transakcji (taki sam bazy danych dziennika używane do śledzenia transakcji i odzyskiwanie podczas regularnych SQL Server operacji aparatu bazy danych) i identyfikuje żadnych instrukcji INSERT, UPDATE i DELETE lub inne modyfikacje danych w transakcjach, które zostały oznaczone do replikacja.Dalej agent kopiuje te transakcje partii do baza danych dystrybucji na dystrybutora.Agent odczytywania dziennika Używa wewnętrznej procedura składowana sp_replcmds uzyskać następnego zestaw poleceń oznaczone dla replikacja z dziennika.baza danych dystrybucji staje się kolejki magazynowania i przekazywania, z którego są wysyłane do subskrybentów.Tylko zatwierdzone transakcje są wysyłane do baza danych dystrybucji.

Po całej partia transakcji zostało zapisanych do baza danych dystrybucji pomyślnie, jest zaangażowana.Po zatwierdzeniu każdej partia poleceń do dystrybutora, Agent odczytywania dziennika wywołania sp_repldone do oznaczenia, gdzie ostatniej replikacja została ukończona.Wreszcie agent oznacza wierszy w dzienniku transakcji, które są gotowe zostaną usunięte.Wiersze wciąż oczekuje na replikowanie nie zostaną usunięte.

Polecenia transakcji są przechowywane w bazie danych dystrybucji, dopóki muszą być propagowane do wszystkich subskrybentów lub aż do maksymalnej okres przechowywania dystrybucji została osiągnięta.Subskrybenci otrzymują transakcji w tej samej kolejności, w jakiej były stosowane w Wydawca.

Agent dystrybucji

Agent dystrybucji jest uruchamiany na dystrybutora dla wypychanie subskrypcje i subskrybent subskrypcji ściąganej.Agent przenosi transakcji z baza danych dystrybucji subskrybenta.Jeśli subskrypcja jest oznaczony do sprawdzania poprawności, Agent dystrybucji również kontroli czy danych na Wydawca i match subskrybenta.Aby uzyskać więcej informacji, zobacz Sprawdzanie poprawności replikowanych danych.