# 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](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Replicating/use_change_table_model.htm#ar_chg_tbls_3080803564_ciheeejg) poniżej.

Informacja

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):

1. 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).
2. 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.