Przyrostowe kopiowanie danych z Azure SQL Database do Blob Storage przy użyciu śledzenia zmian w portalu Azure

DOTYCZY: Azure Data Factory Azure Synapse Analytics

Napiwek

Data Factory w usłudze Microsoft Fabric jest następną generacją Azure Data Factory z prostszą architekturą, wbudowaną sztuczną inteligencją i nowymi funkcjami. Jeśli dopiero zaczynasz integrować dane, zacznij od Fabric Data Factory. Istniejące obciążenia ADF można zaktualizować do Fabric, aby uzyskać dostęp do nowych możliwości w zakresie nauki o danych, analiz w czasie rzeczywistym oraz raportowania.

W rozwiązaniu integracji danych przyrostowe ładowanie danych po początkowych operacjach ładowania danych to powszechnie używany scenariusz. Zmienione dane w określonym okresie w Twoim źródłowym magazynie danych można łatwo podzielić (na przykład LastModifyTime, CreationTime). Jednak w niektórych przypadkach nie ma jawnego sposobu identyfikacji danych delta od czasu ostatniego przetworzenia danych. Aby zidentyfikować dane delta, można użyć technologii śledzenia zmian obsługiwanej przez repozytoria danych, takie jak Azure SQL Database i SQL Server.

W tym samouczku opisano sposób używania Azure Data Factory ze śledzeniem zmian w celu przyrostowego ładowania danych delta z Azure SQL Database do Azure Blob Storage. Aby uzyskać więcej informacji na temat śledzenia zmian, zobacz Śledzenie zmian w SQL Server.

W tym samouczku wykonasz następujące kroki:

  • Przygotuj źródłowy magazyn danych.
  • Tworzenie fabryki danych.
  • Tworzenie połączonych usług.
  • Tworzenie zestawów danych źródła, ujścia i śledzenia zmian.
  • Tworzenie, uruchamianie i monitorowanie pełnego potoku kopiowania.
  • Dodawanie lub aktualizowanie danych w tabeli źródłowej.
  • Utwórz, uruchom i monitoruj potok kopiowania przyrostowego.

Rozwiązanie wysokiego poziomu

W tym samouczku utworzysz dwa rurki, które wykonują następujące operacje.

Uwaga

W tym samouczku używana jest baza danych Azure SQL jako źródłowy magazyn danych. Możesz również użyć SQL Server.

  1. Początkowe ładowanie danych historycznych: Tworzysz potok z operacją kopiowania, która kopiuje wszystkie dane ze źródłowego magazynu danych (Azure SQL Database) do docelowego magazynu danych (Azure Blob Storage):

    1. Włącz technologię śledzenia zmian w źródłowej bazie danych w Azure SQL Database.
    2. Pobierz początkową wartość SYS_CHANGE_VERSION w bazie danych jako punkt odniesienia w celu przechwycenia zmienionych danych.
    3. Załaduj pełne dane ze źródłowej bazy danych do Azure Blob Storage.

    Diagram przedstawiający pełne ładowanie danych.

  2. Przyrostowe ładowanie danych różnicowych zgodnie z harmonogramem: Tworzysz ciąg składający się z następujących działań i uruchamiasz go okresowo:

    1. Utwórz dwa działania wyszukiwania do uzyskania starych i nowych wartości SYS_CHANGE_VERSION z Azure SQL Database.

    2. Utwórz jedno działanie kopiowania do kopiowania wstawionych, zaktualizowanych lub usuniętych danych (danych różnicowych) pomiędzy dwoma SYS_CHANGE_VERSION wartościami z Azure SQL Database do Azure Blob Storage.

      Dane różnicowe ładujesz, łącząc klucze podstawowe zmienionych wierszy (między dwiema SYS_CHANGE_VERSION wartościami) z danymi w tabeli źródłowej, a następnie przenosisz dane różnicowe do miejsca docelowego.

    3. Utwórz jedno działanie procedury składowanej, aby zaktualizować wartość SYS_CHANGE_VERSION dla następnego uruchomienia potoku.

    Diagram przedstawiający przyrostowe ładowanie danych.

Wymagania wstępne

  • Subskrypcja Azure. Jeśli nie masz subskrypcji, przed rozpoczęciem utwórz bezpłatne konto.
  • Azure SQL Database. Baza danych w Azure SQL Database jest używana jako magazyn danych źródłowy. Jeśli go nie masz, zobacz Utwórz bazę danych w Azure SQL Database aby uzyskać instrukcje tworzenia.
  • Azure konto magazynowe Blob Storage używasz jako magazynu danych sink. Jeśli nie masz konta magazynu Azure, zobacz Tworzenie konta magazynu aby uzyskać instrukcje tworzenia konta. Utwórz kontener o nazwie adftutorial.

Uwaga

Zalecamy użycie modułu Azure Az programu PowerShell do interakcji z Azure. Aby rozpocząć, zobacz Install Azure PowerShell. Aby dowiedzieć się, jak przeprowadzić migrację do modułu Az programu PowerShell, zobacz Migrate Azure PowerShell z modułu AzureRM do modułu Az.

Tworzenie tabeli źródła danych w Azure SQL Database

  1. Otwórz SQL Server Management Studio i połącz się z usługą SQL Database.

  2. W Eksploratorze serwera kliknij prawym przyciskiem myszy bazę danych, a następnie wybierz pozycję Nowe zapytanie.

  3. Uruchom następujące polecenie SQL względem bazy danych, aby utworzyć tabelę o nazwie data_source_table jako źródłowy magazyn danych:

    create table data_source_table
    (
        PersonID int NOT NULL,
        Name varchar(255),
        Age int
        PRIMARY KEY (PersonID)
    );
    INSERT INTO data_source_table
        (PersonID, Name, Age)
    VALUES
        (1, 'aaaa', 21),
        (2, 'bbbb', 24),
        (3, 'cccc', 20),
        (4, 'dddd', 26),
        (5, 'eeee', 22);
    
  4. Włącz śledzenie zmian w bazie danych i tabeli źródłowej (data_source_table), uruchamiając następujące zapytanie SQL.

    Uwaga

    • Zastąp <your database name> nazwą bazy danych w Azure SQL Database, która ma data_source_table.
    • W bieżącym przykładzie zmienione dane są przechowywane przez dwa dni. W przypadku ładowania zmienionych danych nie rzadziej niż co trzy dni niektóre zmienione dane nie zostaną uwzględnione. Musisz zmienić wartość CHANGE_RETENTION na większą liczbę lub upewnić się, że okres ładowania zmienionych danych mieści się w ciągu dwóch dni. Aby uzyskać więcej informacji, zobacz Włączanie śledzenia zmian dla bazy danych.
    ALTER DATABASE <your database name>
    SET CHANGE_TRACKING = ON  
    (CHANGE_RETENTION = 2 DAYS, AUTO_CLEANUP = ON)  
    ALTER TABLE data_source_table
    ENABLE CHANGE_TRACKING  
    WITH (TRACK_COLUMNS_UPDATED = ON)
    
  5. Utwórz nową tabelę i magazyn o nazwie ChangeTracking_version z wartością domyślną, uruchamiając następujące zapytanie:

    create table table_store_ChangeTracking_version
    (
        TableName varchar(255),
        SYS_CHANGE_VERSION BIGINT,
    );
    DECLARE @ChangeTracking_version BIGINT
    SET @ChangeTracking_version = CHANGE_TRACKING_CURRENT_VERSION();  
    INSERT INTO table_store_ChangeTracking_version
    VALUES ('data_source_table', @ChangeTracking_version)
    

    Uwaga

    Jeśli dane nie są zmieniane po włączeniu śledzenia zmian dla usługi SQL Database, wartość wersji śledzenia zmian to 0.

  6. Uruchom następujące zapytanie, aby utworzyć procedurę składowaną w bazie danych. Potok danych wywołuje tę procedurę składowaną, aby zaktualizować wersję śledzenia zmian w tabeli, którą utworzyłeś w poprzednim kroku.

    CREATE PROCEDURE Update_ChangeTracking_Version @CurrentTrackingVersion BIGINT, @TableName varchar(50)
    AS
    BEGIN
    UPDATE table_store_ChangeTracking_version
    SET [SYS_CHANGE_VERSION] = @CurrentTrackingVersion
    WHERE [TableName] = @TableName
    END    
    

Tworzenie fabryki danych

  1. Otwórz przeglądarkę internetową Microsoft Edge lub Google Chrome. Obecnie tylko te przeglądarki obsługują interfejs użytkownika usługi Data Factory.

  2. W portalu Azure w menu po lewej stronie wybierz pozycję Utwórz zasób.

  3. Wybierz pozycję Analytics>Data Factory :

    Zrzut ekranu przedstawiający wybór fabryki danych podczas tworzenia zasobu.

  4. Na stronie Nowa fabryka danych wprowadź nazwę ADFTutorialDataFactory.

    Nazwa fabryki danych musi być globalnie unikatowa. Jeśli wystąpi błąd informujący, że wybrana nazwa jest niedostępna, zmień nazwę (na przykład na yournameADFTutorialDataFactory) i spróbuj ponownie utworzyć fabrykę danych. Aby uzyskać więcej informacji, zobacz Azure Data Factory reguły nazewnictwa.

  5. Wybierz subskrypcję Azure, w której chcesz utworzyć fabrykę danych.

  6. W obszarze Grupa zasobów wykonaj jedną z następujących czynności:

    • Wybierz pozycję Użyj istniejącej, a następnie z listy rozwijanej wybierz istniejącą grupę zasobów.
    • Wybierz pozycję Utwórz nową, a następnie wprowadź nazwę grupy zasobów.

    Aby dowiedzieć się więcej o grupach zasobów, zobacz Za pomocą grup zasobów do zarządzania zasobami Azure.

  7. W obszarze Wersja wybierz pozycję V2.

  8. W obszarze Region wybierz region fabryki danych.

    Na liście rozwijanej są wyświetlane tylko obsługiwane lokalizacje. Magazyny danych (na przykład Azure Storage i Azure SQL Database) oraz obliczenia (na przykład Azure HDInsight), których używa fabryka danych, może znajdować się w innych regionach.

  9. Wybierz pozycję Dalej: Konfiguracja usługi Git. Skonfiguruj repozytorium, postępując zgodnie z instrukcjami w Konfiguracja metoda 4: Podczas tworzenia fabryki lub zaznacz pole wyboru Konfiguruj Git później. Zrzut ekranu przedstawiający opcje konfiguracji usługi Git podczas tworzenia fabryki danych.

  10. Wybierz Przejrzyj i utwórz.

  11. Wybierz pozycję Utwórz.

    Na pulpicie nawigacyjnym na kafelku Wdrażanie usługi Data Factory jest wyświetlany stan.

    Zrzut ekranu przedstawiający kafelek przedstawiający stan wdrażania fabryki danych.

  12. Po zakończeniu tworzenia zostanie wyświetlona strona Fabryka danych . Wybierz kafelek Launch studio aby otworzyć interfejs użytkownika Azure Data Factory w osobnej karcie.

Tworzenie połączonych usług

Połączone usługi tworzy się w fabryce danych w celu połączenia magazynów danych i usług obliczeniowych z fabryką danych. W tej sekcji utworzysz połączone usługi do konta magazynowania Azure i bazy danych w Azure SQL Database.

Tworzenie połączonej usługi Azure Storage

Aby powiązać konto magazynowe z fabryką danych:

  1. W interfejsie użytkownika usługi Data Factory na karcie Zarządzanie w obszarze Połączenia wybierz pozycję Połączone usługi. Następnie wybierz pozycję + Nowy lub przycisk Utwórz połączoną usługę. Zrzut ekranu przedstawiający opcje tworzenia połączonej usługi.
  2. W oknie Nowa połączona usługa wybierz Azure Blob Storage, a następnie wybierz pozycję Continue.
  3. Wprowadź następujące informacje:
    1. Wprowadź wartość AzureStorageLinkedService w polu Nazwa.
    2. Dla Połączenia za pośrednictwem środowiska Integration Runtime wybierz środowisko Integration Runtime.
    3. W polu Typ uwierzytelniania wybierz metodę uwierzytelniania.
    4. W Nazwa konta magazynowego wybierz konto magazynowe Azure.
  4. Wybierz pozycję Utwórz.

Tworzenie połączonej usługi Azure SQL Database

Aby połączyć bazę danych z fabryką danych:

  1. W interfejsie użytkownika usługi Data Factory na karcie Zarządzanie w obszarze Połączenia wybierz pozycję Połączone usługi. Następnie wybierz pozycję + Nowy.

  2. W oknie Nowa połączona usługa wybierz pozycję Azure SQL Database, a następnie wybierz pozycję Continue.

  3. Wprowadź następujące informacje:

    1. W polu Nazwa wprowadź wartość AzureSqlDatabaseLinkedService.
    2. W polu Nazwa serwera wybierz serwer.
    3. W polu Nazwa bazy danych wybierz bazę danych.
    4. W polu Typ uwierzytelniania wybierz metodę uwierzytelniania. W tym samouczku używane jest uwierzytelnianie SQL w celach demonstracyjnych.
    5. W polu Nazwa użytkownika wprowadź nazwę użytkownika.
    6. W polu Hasło wprowadź hasło użytkownika. Możesz też podać informacje dotyczące Azure Key Vault — połączona usługa AKV, Nazwa sekretu i Wersja sekretu.
  4. Wybierz pozycję Testuj połączenie, aby przetestować połączenie.

  5. Wybierz pozycję Utwórz , aby utworzyć połączoną usługę.

    Zrzut ekranu pokazujący ustawienia usługi powiązanej z bazą danych Azure SQL.

Tworzenie zestawów danych

W tej sekcji utworzysz zestawy danych reprezentujące źródło danych i miejsce docelowe danych wraz z miejscem przechowywania SYS_CHANGE_VERSION wartości.

Tworzenie zestawu danych reprezentującego źródło danych

  1. W interfejsie użytkownika usługi Data Factory na karcie Autor wybierz znak plus (+). Następnie wybierz pozycję Zestaw danych lub kliknij wielokropek, aby wykonywać akcje związane z zestawem danych.

    Zrzut ekranu przedstawiający opcje uruchamiania tworzenia zestawu danych.

  2. Wybierz Azure SQL Database, a następnie wybierz Continue.

  3. W oknie Ustawianie właściwości wykonaj następujące czynności:

    1. Wprowadź SourceDataset w polu Nazwa.
    2. W polu Połączona usługa wybierz pozycję AzureSqlDatabaseLinkedService.
    3. W polu Nazwa tabeli wybierz pozycję dbo.data_source_table.
    4. Dla Importuj schemat wybierz opcję Z połączenia/magazynu.
    5. Wybierz przycisk OK.

    Zrzut ekranu przedstawiający ustawienia właściwości źródłowego zestawu danych.

Utwórz zestaw danych, aby odzwierciedlić dane skopiowane do docelowego magazynu danych

W poniższej procedurze utworzysz zestaw danych reprezentujący dane skopiowane z źródłowego magazynu danych. Utworzono kontener adftutorial w Azure Blob Storage w ramach wymagań wstępnych. Utwórz ten kontener, jeśli nie istnieje, lub zastąp go nazwą istniejącego kontenera. W tym samouczku nazwa pliku wyjściowego jest generowana dynamicznie na podstawie wyrażenia @CONCAT('Incremental-', pipeline().RunId, '.txt').

  1. W interfejsie użytkownika usługi Data Factory na karcie Autor wybierz pozycję +. Następnie wybierz pozycję Zestaw danych lub kliknij wielokropek, aby wykonywać akcje związane z zestawem danych.

    Zrzut ekranu przedstawiający opcje uruchamiania tworzenia zestawu danych.

  2. Wybierz Azure Blob Storage, a następnie wybierz pozycję Continue.

  3. Wybierz format typu danych jako RozdzielanyTekst, a następnie wybierz pozycję Kontynuuj.

  4. W oknie Ustawianie właściwości wykonaj następujące czynności:

    1. W polu Nazwa wprowadź SinkDataset.
    2. W polu Połączona usługa wybierz pozycję AzureBlobStorageLinkedService.
    3. W polu Ścieżka pliku wprowadź adftutorial/incchgtracking.
    4. Wybierz przycisk OK.
  5. Po wyświetleniu zestawu danych w widoku drzewa przejdź do karty Połączenie i wybierz pole tekstowe Nazwa pliku. Po wyświetleniu opcji Dodaj zawartość dynamiczną wybierz ją.

    Zrzut ekranu przedstawiający opcję ustawiania dynamicznej ścieżki pliku dla zestawu danych ujścia.

  6. Okno Konstruktora wyrażeń potoku zostanie wyświetlone. Wklej @concat('Incremental-',pipeline().RunId,'.csv') do pola tekstowego.

  7. Wybierz przycisk OK.

Stwórz zestaw danych do reprezentacji danych śledzenia zmian

W poniższej procedurze utworzysz zestaw danych do przechowywania wersji śledzenia zmian. Utworzyłeś tabelę table_store_ChangeTracking_version jako część wymagań wstępnych.

  1. W interfejsie użytkownika usługi Data Factory na karcie Autor wybierz pozycję +, a następnie wybierz pozycję Zestaw danych.
  2. Wybierz Azure SQL Database, a następnie wybierz Continue.
  3. W oknie Ustawianie właściwości wykonaj następujące czynności:
    1. Dla Nazwa, wprowadź ChangeTrackingDataset.
    2. W polu Połączona usługa wybierz pozycję AzureSqlDatabaseLinkedService.
    3. Dla nazwy tabeli wybierz dbo.table_store_ChangeTracking_version.
    4. Dla Importuj schemat wybierz opcję Z połączenia/magazynu.
    5. Wybierz przycisk OK.

Tworzenie potoku danych dla pełnej kopii

W poniższej procedurze utworzysz potok z działaniem kopiowania, które kopiuje całe dane ze źródłowego magazynu danych (Azure SQL Database) do docelowego magazynu danych (Azure Blob Storage):

  1. W interfejsie użytkownika usługi Data Factory na karcie Tworzenie wybierz pozycję , a następnie wybierz pozycję +>.

    Zrzut ekranu przedstawiający opcje rozpoczęcia tworzenia potoku danych dla fabryki danych.

  2. Zostanie wyświetlona nowa karta konfigurowania potoku. Potok jest również wyświetlany w widoku drzewa. W oknie Właściwości zmień nazwę pipeline'u na FullCopyPipeline.

  3. W narzędziach Działania rozwiń pozycję Przenieś i przekształć. Wykonaj jedną z następujących czynności:

    • Przeciągnij zadanie kopiowania na powierzchnię projektanta pipeline'u.
    • Na pasku wyszukiwania w obszarze Działania wyszukaj działanie kopiowania danych, a następnie ustaw nazwę na FullCopyActivity.
  4. Przejdź do zakładki Źródło. Dla Zestawu danych źródłowych wybierz pozycję SourceDataset.

  5. Przejdź do karty Ujście. W obszarze Zestaw danych Ujścia wybierz pozycję SinkDataset.

  6. Aby zweryfikować definicję potoku, wybierz Weryfikuj na pasku narzędzi. Potwierdź, że nie ma błędu walidacji. Zamknij wyniki weryfikacji przetwarzania.

  7. Aby opublikować jednostki (połączone usługi, zestawy danych i potoki), wybierz Publikuj wszystko. Poczekaj na wyświetlenie komunikatu Pomyślnie opublikowano.

    Zrzut ekranu przedstawiający komunikat informujący o pomyślnym opublikowaniu.

  8. Aby wyświetlić powiadomienia, wybierz przycisk Pokaż powiadomienia .

Uruchom pełną kopię łańcucha przetwarzania

  1. W interfejsie użytkownika usługi Data Factory na pasku narzędzi potoku wybierz pozycję Dodaj wyzwalacz, a następnie wybierz pozycję Wyzwól teraz.

    Zrzut ekranu przedstawiający opcję wyzwalania pełnej kopii teraz.

  2. W oknie Uruchomienie potoku wybierz OK.

    Zrzut ekranu przedstawiający potwierdzenie uruchomienia pipeline'u ze sprawdzeniem parametru.

Monitoruj pełny proces kopiowania

  1. W UI Data Factory wybierz kartę Monitor. Uruchomienie potoku i jego stan są wyświetlane na liście. Aby odświeżyć listę, wybierz pozycję Odśwież. Umieść kursor nad przebiegiem potoku, aby uzyskać Uruchom ponownie lub Zużycie.

    Zrzut ekranu przedstawiający przebieg i stan potoku.

  2. Aby wyświetlić uruchomienia aktywności skojarzone z uruchomieniem potoku, wybierz nazwę potoku z kolumny Nazwa potoku. W harmonogramie istnieje tylko jedno działanie, więc na liście znajduje się tylko jeden wpis. Aby wrócić do widoku uruchomień potoków, wybierz link Wszystkie uruchomienia potoku na górze.

Sprawdzanie wyników

Folder incchgtracking kontenera adftutorial zawiera plik o nazwie incremental-<GUID>.csv.

Zrzut ekranu przedstawiający plik wyjściowy z pełnej kopii.

Plik powinien mieć dane z bazy danych:


PersonID,Name,Age
1,"aaaa",21
2,"bbbb",24
3,"cccc",20
4,"dddd",26
5,"eeee",22

5,eeee,PersonID,Name,Age
1,"aaaa",21
2,"bbbb",24
3,"cccc",20
4,"dddd",26
5,"eeee",22

Dodawanie większej ilości danych do tabeli źródłowej

Uruchom następujące zapytanie względem bazy danych, aby dodać wiersz i zaktualizować wiersz:

INSERT INTO data_source_table
(PersonID, Name, Age)
VALUES
(6, 'new','50');


UPDATE data_source_table
SET [Age] = '10', [name]='update' where [PersonID] = 1

Tworzenie potoku na potrzeby kopii przyrostowej

W poniższej procedurze utworzysz pipeline z czynnościami i uruchomisz go cyklicznie. Kiedy uruchamiasz potok:

  • Działania lookup pobierają stare i nowe wartości SYS_CHANGE_VERSION z Azure SQL Database i przekazują je do działania kopiowania.
  • Działanie copy kopiuje wstawione, zaktualizowane lub usunięte dane między dwiema wartościami SYS_CHANGE_VERSION z Azure SQL Database do Azure Blob Storage.
  • Działanie związane z procedurą składowaną aktualizuje wartość dla następnego uruchomienia potoku.
  1. pl-PL: W interfejsie użytkownika usługi Data Factory przejdź do karty Author. Wybierz pozycję +, a następnie wybierz Pipeline>Pipeline.

    Zrzut ekranu przedstawiający sposób tworzenia przepływu w Data Factory.

  2. Zostanie wyświetlona nowa karta konfigurowania potoku. Potok jest również wyświetlany w widoku drzewa. W oknie Właściwości zmień nazwę potoku na IncrementalCopyPipeline.

  3. Rozwiń sekcję Ogólne w przyborniku Działania. Przeciągnij działanie wyszukiwania na powierzchnię projektanta przepływu lub wyszukaj w polu Wyszukaj Działania. Ustaw nazwę działania na LookupLastChangeTrackingVersionActivity. To działanie pobiera wersję śledzenia zmian używaną w ostatniej operacji kopiowania, która jest przechowywana w tabeli table_store_ChangeTracking_version.

  4. Przejdź do karty Ustawienia w oknie Właściwości . W polu Źródłowy zestaw danych wybierz pozycję ChangeTrackingDataset.

  5. Przeciągnij czynność wyszukiwania z przybornika Działania do powierzchni projektanta rurociągu. Ustaw nazwę działania na LookupCurrentChangeTrackingVersionActivity. To działanie pobiera bieżącą wersję rozwiązania Change Tracking.

  6. Przejdź do karty Ustawienia w oknie Właściwości , a następnie wykonaj następujące czynności:

    1. W polu Źródłowy zestaw danych wybierz pozycję SourceDataset.

    2. W obszarze Użyj zapytania wybierz pozycję Zapytanie.

    3. W polu Zapytanie wprowadź następujące zapytanie SQL:

      SELECT CHANGE_TRACKING_CURRENT_VERSION() as CurrentChangeTrackingVersion
      

    Screenshot przedstawiający zapytanie dodane do karty Ustawienia w okno Właściwości.

  7. W narzędziach Działania rozwiń pozycję Przenieś i przekształć. Przeciągnij działanie kopiowania danych na powierzchnię projektanta potoku. Ustaw nazwę działania na IncrementalCopyActivity. To działanie kopiuje dane między ostatnią wersją śledzenia zmian a bieżącą wersją śledzenia zmian do docelowego magazynu danych.

  8. Przejdź do karty Źródło w oknie Właściwości , a następnie wykonaj następujące czynności:

    1. W polu Źródłowy zestaw danych wybierz pozycję SourceDataset.

    2. W obszarze Użyj zapytania wybierz pozycję Zapytanie.

    3. W polu Zapytanie wprowadź następujące zapytanie SQL:

      SELECT data_source_table.PersonID,data_source_table.Name,data_source_table.Age, CT.SYS_CHANGE_VERSION, SYS_CHANGE_OPERATION from data_source_table RIGHT OUTER JOIN CHANGETABLE(CHANGES data_source_table, @{activity('LookupLastChangeTrackingVersionActivity').output.firstRow.SYS_CHANGE_VERSION}) AS CT ON data_source_table.PersonID = CT.PersonID where CT.SYS_CHANGE_VERSION <= @{activity('LookupCurrentChangeTrackingVersionActivity').output.firstRow.CurrentChangeTrackingVersion}
      

    Screenshot przedstawiający zapytanie dodane do karty Źródło w okno Właściwości.

  9. Przejdź do karty Ujście. W obszarze Zestaw danych Ujścia wybierz pozycję SinkDataset.

  10. Połącz oba działania wyszukiwania jedno po drugim z działaniem kopiowania. Przeciągnij zielony przycisk dołączony do działania wyszukiwania do działania kopiowania.

  11. Przeciągnij aktywność procedury składowanej z przybornika Działania do powierzchni projektanta ścieżki. Ustaw nazwę działania na StoredProceduretoUpdateChangeTrackingActivity. To działanie aktualizuje wersję śledzenia zmian w tabeli table_store_ChangeTracking_version.

  12. Przejdź do karty Ustawienia , a następnie wykonaj następujące czynności:

    1. W polu Połączona usługa wybierz pozycję AzureSqlDatabaseLinkedService.
    2. W polu Nazwa procedury składowanej wybierz wartość Update_ChangeTracking_Version.
    3. Wybierz Importuj.
    4. W sekcji Parametry procedury składowanej określ następujące wartości parametrów:
    Nazwisko Typ Wartość
    CurrentTrackingVersion Int64 @{activity('LookupCurrentChangeTrackingVersionActivity').output.firstRow.CurrentChangeTrackingVersion}
    TableName Sznurek @{activity('LookupLastChangeTrackingVersionActivity').output.firstRow.TableName}

    Zrzut ekranu przedstawiający parametry ustawiania dla działania procedury składowanej.

  13. Połącz działanie kopiowania z działaniem procedury składowanej. Przeciągnij zielony przycisk dołączony do działania kopiowania do działania procedury składowanej.

  14. Wybierz pozycję Weryfikuj na pasku narzędzi. Potwierdź, że nie wystąpiły błędy walidacji. Zamknij okno Raport walidacji procesu.

  15. Opublikuj elementy (połączone usługi, zestawy danych i potoki) w usłudze Data Factory, wybierając przycisk Opublikuj wszystko. Poczekaj na wyświetlenie komunikatu Publikowanie zakończyło się pomyślnie .

    Zrzut ekranu przedstawiający przycisk publikowania wszystkich jednostek w fabryce danych.

Uruchom potok kopiowania przyrostowego

  1. Wybierz Dodaj wyzwalacz na pasku narzędzi potoku, a następnie wybierz Wyzwól teraz.

    Zrzut ekranu przedstawiający opcję wyzwalania kopii przyrostowej teraz.

  2. W oknie Uruchomienie potoku wybierz OK.

Monitoruj potok kopiowania przyrostowego

  1. Wybierz kartę Monitor . Uruchomienie potoku i jego stan są wyświetlane na liście. Aby odświeżyć listę, wybierz pozycję Odśwież.

    Zrzut ekranu przedstawiający runy potoku dla fabryki danych.

  2. Aby wyświetlić uruchomienia aktywności skojarzone z uruchomieniem potoku, wybierz łącze IncrementalCopyPipeline w kolumnie Nazwa potoku. Serie działań są wyświetlane na liście.

    Zrzut ekranu przedstawiający wykonywanie działań dla fabryki danych.

Sprawdzanie wyników

Drugi plik pojawia się w folderze incchgtracking kontenera adftutorial .

Zrzut ekranu przedstawiający plik wyjściowy z kopii przyrostowej.

Plik powinien zawierać tylko dane różnicowe z Twojej bazy danych. Rekord z U jest zaktualizowanym wierszem w bazie danych i I jest jednym dodanym wierszem.

PersonID,Name,Age,SYS_CHANGE_VERSION,SYS_CHANGE_OPERATION
1,update,10,2,U
6,new,50,1,I

Pierwsze trzy kolumny to zmienione dane z data_source_table. Dwie ostatnie kolumny to metadane z tabeli dla systemu śledzenia zmian. Czwarta kolumna to wartość dla każdego zmienionego SYS_CHANGE_VERSION wiersza. Piąta kolumna to operacja: U = update, I = insert. Aby uzyskać szczegółowe informacje o śledzeniu zmian, zobacz CHANGETABLE.

==================================================================
PersonID Name    Age    SYS_CHANGE_VERSION    SYS_CHANGE_OPERATION
==================================================================
1        update  10            2                                 U
6        new     50	       1                            	 I

Przejdź do następującego samouczka, aby dowiedzieć się więcej o kopiowaniu tylko nowych i zmienionych plików na podstawie polecenia LastModifiedDate: