Praca z tabelami zmian
Oprócz replikowania zmian z tabel źródłowych punktów końcowych do odpowiednich tabel w docelowym punkcie końcowym można także replikować zmiany do odpowiednich tabel zmian w docelowym punkcie końcowym. Proces ten zachodzi jednocześnie podczas stosowania zmian do tabel docelowych. Można wybrać, czy tylko replikować zmiany do elementu docelowego, przechowywać zmiany w tabelach zmian, czy wykonać jedno i drugie działanie. Więcej informacji zawiera temat Korzystanie z modelu tabeli zmian poniżej.
Operacje UPDATE zastosowane do źródła, które nie zmieniają danych źródłowych, zostaną zastosowane do miejsca docelowego, ale nie zostaną zastosowane do odpowiedniej tabeli zmian. Na przykład, jeśli operacja UPDATE na kolumnie A w źródle zmieni wszystkie wartości większe niż 10 na 1, a jeden z rekordów w kolumnie A ma już wartość 1, wówczas operacja UPDATE dla tego rekordu nie zostanie zapisana w tabeli zmian.
Tabele zmian mają takie same nazwy jak tabele replikowane, ale jest do nich dołączany prefiks __ct
.
Oprócz wybranych kolumn z tabeli źródłowej tabela zmian zawiera także specjalne kolumny nagłówka, które dostarczają więcej informacji na temat zmiany reprezentowanej przez wiersz, takich jak operacja, transakcja i znacznik czasu. Dzięki temu można używać języka zapytań SQL do przeprowadzania różnych analiz zdarzeń zmian, takich jak wykrywanie oszustw, analiza trendów, wyzwalanie procesów biznesowych i usuwanie skutków awarii. Aby uzyskać więcej informacji na temat odczytywania tabel zmian, zobacz temat Odczytywanie tabel zmian.
Obsługa operacji obcinania
Operacje TRUNCATE nie spowodują obcięcia tabeli zmian. Zamiast tego do tabeli zostanie dodany dodatkowy rekord z operation=TRUNCATE.
Jeśli chodzi o rzeczywistą tabelę docelową, w przypadku włączenia opcji replikacji Zastosuj zmiany oraz Zapisz zmiany tabela docelowa zostanie obcięta.
Aby zastosować operacje TRUNCATE zarówno do tabeli zmian, jak i tabeli docelowej (w przypadku źródeł obsługujących TRUNCATE):
- Sprawdź, czy na karcie Ustawienia przechowywania zmian w ustawieniach zadania na liście rozwijanej Opcje DDL wybrana jest opcja Zastosuj do tabeli zmian (domyślna).
- Na karcie Zastosuj zmiany w ustawieniach zadania upewnij się, że z listy rozwijanej Kiedy tabela źródłowa jest obcięta, jest wybrana opcja OBETNIJ tabelę docelową (domyślna).
Korzystanie z modelu tabeli zmian
Pracując z tabelami zmian, możesz określić, czy zapisywać zmiany w tabelach zmian, stosować zmiany do tabel docelowych, czy też zapisywać i stosować zmiany. Określa się to podczas definiowania zadania replikacji. Więcej informacji na temat tego ustawienia zawiera temat Ustawienia przechowywania zmian.
W przypadkach, gdy zmiany są zarówno stosowane, jak i zapisywane, obowiązuje następująca zasada:
-
Tabele docelowe i tabele zmian muszą znajdować się w tym samym punkcie końcowym, chociaż mogą mieć różne schematy. Na przykład tabele zmian będą zawierać nagłówki metadanych.
Więcej informacji na temat zmiany schematu zawiera temat Zmiana nazwy schematu tabeli zmian.
-
Zmiany zastosowane do Tabeli zmian będą obsługiwane dokładnie tak samo jak zmiany dokonane w odpowiedniej transakcji w źródłowej bazie danych. Dlatego w przypadku korzystania z trybu stosowania transakcyjnego lub trybu stosowania zoptymalizowanego pod kątem partii z zaznaczoną opcją Zachowaj spójność transakcji zmiany zostaną przetworzone jako pojedyncza transakcja.
Wyjątkiem jest sytuacja, gdy wystąpi błąd i zadanie danych przełączy się na tryb stosowania „jedna po drugiej” w celu ustalenia, która z operacji zmiany jest odpowiedzialna za błąd.
- Stosowane i przechowywane są te same kolumny danych z wyjątkiem kolumn nagłówka zmian, które są dodawane tylko do przechowywanych tabel zmian.