Udostępnij za pośrednictwem


Przyrostowe kopiowanie danych z usługi Azure SQL Database do usługi Blob Storage przy użyciu śledzenia zmian w witrynie Azure Portal

DOTYCZY: Azure Data Factory Azure Synapse Analytics

Napiwek

Wypróbuj usługę Data Factory w usłudze Microsoft Fabric — rozwiązanie analityczne typu all-in-one dla przedsiębiorstw. Usługa Microsoft Fabric obejmuje wszystko, od przenoszenia danych do nauki o danych, analizy w czasie rzeczywistym, analizy biznesowej i raportowania. Dowiedz się, jak bezpłatnie rozpocząć nową wersję próbną !

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 magazyny danych, takie jak Azure SQL Database i SQL Server.

W tym samouczku opisano sposób używania usługi Azure Data Factory ze śledzeniem zmian w celu przyrostowego ładowania danych różnicowych z usługi Azure SQL Database do usługi Azure Blob Storage. Aby uzyskać więcej informacji na temat śledzenia zmian, zobacz Śledzenie zmian w programie 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 potoki, które wykonują następujące operacje.

Uwaga

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

  1. Początkowe ładowanie danych historycznych: tworzysz 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łącz technologię śledzenia zmian w źródłowej bazie danych w usłudze 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 usługi 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 zadania wyszukiwania w celu uzyskania starych i nowych SYS_CHANGE_VERSION wartości z bazy danych Azure SQL.

    2. Utwórz jeden proces kopiowania, aby skopiować wstawione, zaktualizowane lub usunięte dane (dane delta) pomiędzy dwiema wartościami SYS_CHANGE_VERSION z usługi Azure SQL Database do usługi 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 platformy Azure. Jeśli nie masz subskrypcji, przed rozpoczęciem utwórz bezpłatne konto.
  • Azure SQL Database. Baza danych w usłudze Azure SQL Database służy jako źródłowy magazyn danych. Jeśli jej nie masz, zobacz Tworzenie bazy danych w usłudze Azure SQL Database , aby uzyskać instrukcje tworzenia bazy danych.
  • Konto usługi Azure Storage. Magazyn obiektów blob jest używany jako magazyn danych ujścia. Jeśli nie masz konta usługi Azure Storage, zobacz Tworzenie konta magazynu, aby dowiedzieć się, jak je utworzyć. Utwórz kontener o nazwie adftutorial.

Uwaga

Do interakcji z platformą Azure zalecamy używanie modułu Azure Az w programie PowerShell. Zobacz Instalowanie programu Azure PowerShell, aby rozpocząć. Aby dowiedzieć się, jak przeprowadzić migrację do modułu Az PowerShell, zobacz Migracja programu Azure PowerShell z modułu AzureRM do modułu Az.

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

  1. Otwórz program 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 usłudze Azure SQL Database, która zawiera 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 witrynie Azure Portal w menu po lewej stronie wybierz pozycję Utwórz zasób.

  3. Wybierz Integracja>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 Reguły nazewnictwa usługi Azure Data Factory.

  5. Wybierz subskrypcję platformy 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.

    Informacje na temat grup zasobów znajdują się w artykule Using resource groups to manage your Azure resources (Używanie grup zasobów do zarządzania zasobami platformy 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 Usługi Azure Storage i Azure SQL Database) i obliczenia (na przykład Usługa 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 pozycję 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 usługi Azure Data Factory na 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 z kontem usługi Azure Storage i bazą danych w usłudze 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 pozycję Azure Blob Storage, a następnie wybierz pozycję Kontynuuj.
  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. Dla Nazwa konta magazynu wybierz swoje konto magazynu 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ę Kontynuuj.

  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 połączonej usługi Azure Key Vault (AKV), nazwy sekretu i wersji sekretu.
  4. Wybierz pozycję Testuj połączenie, aby przetestować połączenie.

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

    Zrzut ekranu przedstawiający ustawienia połączonej usługi Azure SQL Database.

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 wybierz wielokropek dla akcji zestawu danych.

    Zrzut ekranu przedstawiający opcje uruchamiania tworzenia zestawu danych.

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

  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. Utworzyłeś kontener adftutorial w usłudze 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 wybierz wielokropek, aby wybrać akcje dla zestawu danych.

    Zrzut ekranu przedstawiający opcje uruchamiania tworzenia zestawu danych.

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

  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 pozycję Azure SQL Database, a następnie wybierz pozycję Kontynuuj.
  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ę Potok danych>Potok danych.

    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 przyborniku 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 pozycję 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 potoku z 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 wyszukiwania pobierają stare i nowe wartości z usługi Azure SQL Database i przekazują je do aktywności kopiowania.
  • Działanie kopiowania kopiuje wstawione, zaktualizowane lub usunięte dane między dwiema SYS_CHANGE_VERSION wartościami z usługi Azure SQL Database do usługi Azure Blob Storage.
  • Działanie procedury składowanej aktualizuje wartość SYS_CHANGE_VERSION 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
      

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

  7. W przyborniku 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}
      

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

  9. Przejdź do karty Sink. W sekcji Sink Dataset 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 działanie procedury składowanej z przybornika Działania do powierzchni projektanta potoku. 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 String @{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 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: