Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Środowisko SSIS Integration Runtime w usłudze Azure Data Factory
W przepływie danych pakietu Integration Services, który wykonuje przyrostowe ładowanie danych zmian, drugim zadaniem jest rozdzielenie operacji wstawiania, aktualizacji i usuwania. Następnie możesz użyć odpowiednich poleceń, aby zastosować je do celu.
Note
Pierwszym zadaniem przy projektowaniu przepływu danych w pakiecie, który wykonuje dodatkowy ładunek danych zmian, jest skonfigurowanie komponentu źródłowego, który wykonuje zapytanie pobierające dane zmian. Więcej informacji o tym komponencie można znaleźć w artykule Pobierz i zrozum dane zmian. Opis ogólnego procesu tworzenia pakietu wykonującego przyrostowe obciążenie danych zmian można znaleźć w temacie Change Data Capture (SSIS).
Przypisywanie przyjaznych wartości do oddzielnych wstawek, aktualizacji i usuwań
W przykładowym zapytaniu pobierającym dane zmiany, funkcja cdc.fn_cdc_get_net_changes_<capture_instance> zwraca tylko kolumnę metadanych o nazwie __$operation. Ta kolumna metadanych zawiera wartość porządkową wskazującą, która operacja spowodowała zmianę.
Note
Aby uzyskać więcej informacji na temat zapytania, które wywołuje funkcję cdc.fn_cdc_get_net_changes_<capture_instance>, zobacz Tworzenie funkcji służącej do pobierania danych o zmianach.
Dopasowanie wartości porządkowej do odpowiadającej jej operacji nie jest tak proste, jak użycie mnemotechniki operacji. Na przykład 'D' może łatwo oznaczać operację usuwania, a 'I' operację wstawiania. Przykładowe zapytanie utworzone w temacie Tworzenie funkcji do pobierania danych o zmianach dokonuje tej konwersji z wartości porządkowej na czytelną wartość tekstową, która jest zwracana w nowej kolumnie. Poniższy fragment kodu pokazuje tę konwersję:
select
...
case __$operation
when 1 then 'D'
when 2 then 'I'
when 4 then 'U'
else null
end as CDC_OPERATION
Konfiguracja warunkowej transformacji rozdzielonej do bezpośredniego wstawiania, aktualizacji i usuwania
Aby skierować wiersze danych zmiany do jednego z trzech wyjść, idealna jest transformacja warunkowego podziału. Transformacja po prostu sprawdza wartość kolumny CDC_OPERATION w każdym wierszu i określa, czy ta zmiana była wstawiona, aktualizowana czy usuwana.
Note
Kolumna CDC_OPERATION zawiera przyjazną wartość ciągu wywodzoną z wartości liczbowej w kolumnie __$operation .
Rozdzielanie operacji wstawiania, aktualizacji i usuwania na potrzeby przetwarzania za pomocą transformacji Podział warunkowy
Na zakładce Przepływ danych dodaj transformację warunkową (Conditional Split).
Połącz wyjście ze źródła OLE DB z transformacją warunkowego podziału.
W Conditional Split Transformation Editor, w dolnym panelu edytora, wpisz następujące trzy linie, aby oznaczyć trzy wyjścia
Wprowadź linię z warunkiem
CDC_OPERATION == "I"kierowania wstawionych wierszy do wyjścia dla insertów.Wprowadź linię z warunkiem
CDC_OPERATION == "U"kierowania zaktualizowanych wierszy do wyjścia w celu aktualizacji.Wprowadź wiersz z warunkiem
CDC_OPERATION == "D", aby kierować usunięte wiersze do danych wyjściowych dla operacji usuwania.