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 okresie w magazynie danych źródłowych można łatwo podzielić (na przykład LastModifyTime, CreationTime). Jednak w niektórych przypadkach nie ma jawnego sposobu identyfikowania danych różnicowych z czasu ostatniego przetworzenia danych. Aby zidentyfikować dane różnicowe, można użyć technologii śledzenia zmian obsługiwanej przez magazyny danych, takie jak usługa Azure SQL Database i program 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.

Ten samouczek obejmuje następujące procedury:

  • 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 potoku pełnej kopii.
  • Dodawanie lub aktualizowanie danych w tabeli źródłowej.
  • Tworzenie, uruchamianie i monitorowanie potoku kopiowania przyrostowego.

Rozwiązanie ogólne

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 potok z następującymi działaniami i uruchamiasz je okresowo:

    1. Utwórz dwa działania wyszukiwania, aby uzyskać stare i nowe SYS_CHANGE_VERSION wartości z usługi Azure SQL Database.

    2. Utwórz jedno działanie kopiowania, aby skopiować wstawione, zaktualizowane lub usunięte dane (dane różnicowe) między dwiema SYS_CHANGE_VERSION wartościami z usługi Azure SQL Database do usługi Azure Blob Storage.

      Dane różnicowe są ładowane przez dołączenie kluczy podstawowych zmienionych wierszy (między dwiema SYS_CHANGE_VERSION wartościami) z sys.change_tracking_tables danych w tabeli źródłowej, a następnie przeniesienie danych różnicowych 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.
  • Usługa Azure SQL Database. Baza danych w usłudze Azure SQL Database jest używana 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 uzyskać instrukcje tworzenia konta. 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> ciąg nazwą bazy danych w usłudze Azure SQL Database, która ma wartość 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 wywołuje tę procedurę składowaną, aby zaktualizować wersję śledzenia zmian w tabeli utworzonej 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 pozycję Integracja z usługą >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 metodzie Konfiguracji 4: Podczas tworzenia fabryki lub zaznacz pole wyboru Konfiguruj narzędzie 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 połączyć konto magazynu 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. W obszarze Połącz za pośrednictwem środowiska Integration Runtime wybierz środowisko Integration Runtime.
    3. W polu Typ uwierzytelniania wybierz metodę uwierzytelniania.
    4. W polu Nazwa konta magazynu wybierz konto usługi Azure Storage.
  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 na potrzeby pokazu.
    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 — usługi AKV, nazwy wpisu tajnego i wersji wpisu tajnego.
  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. W polu Nazwa wprowadź wartość SourceDataset.
    2. W polu Połączona usługa wybierz pozycję AzureSqlDatabaseLinkedService.
    3. W polu Nazwa tabeli wybierz pozycję dbo.data_source_table.
    4. W obszarze 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.

Tworzenie zestawu danych do reprezentowania danych skopiowanych do magazynu danych ujścia

W poniższej procedurze utworzysz zestaw danych reprezentujący dane skopiowane z źródłowego magazynu danych. Kontener adftutorial został utworzony 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 dla akcji 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ź wartość SinkDataset.
    2. W polu Połączona usługa wybierz pozycję AzureBlobStorageLinkedService.
    3. W polu Ścieżka pliku wprowadź wartość 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. Zostanie wyświetlone okno konstruktora wyrażeń potoku. Wklej @concat('Incremental-',pipeline().RunId,'.csv') pole tekstowe.

  7. Wybierz przycisk OK.

Tworzenie zestawu danych reprezentującego dane rozwiązania Change Tracking

W poniższej procedurze utworzysz zestaw danych do przechowywania wersji śledzenia zmian. Tabela została utworzona table_store_ChangeTracking_version w ramach 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. W polu Nazwa wprowadź wartość ChangeTrackingDataset.
    2. W polu Połączona usługa wybierz pozycję AzureSqlDatabaseLinkedService.
    3. W polu Nazwa tabeli wybierz pozycję dbo.table_store_ChangeTracking_version.
    4. W obszarze Importuj schemat wybierz opcję Z połączenia/magazynu .
    5. Wybierz przycisk OK.

Tworzenie potoku na potrzeby pełnego kopiowania

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 Autor wybierz pozycję +, a następnie wybierz pozycję Potok potoku>.

    Zrzut ekranu przedstawiający opcje rozpoczęcia tworzenia potoku 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ę potoku na FullCopyPipeline.

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

    • Przeciągnij działanie kopiowania na powierzchnię projektanta potoku.
    • Na pasku wyszukiwania w obszarze Działania wyszukaj działanie kopiowania danych, a następnie ustaw nazwę na FullCopyActivity.
  4. Przejdź do karty Źródło . W polu Zestaw 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 weryfikacja nie zwróciła błędu. Zamknij dane wyjściowe weryfikacji potoku.

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

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

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

Uruchamianie potoku pełnego kopiowania

  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 Uruchamianie potoku wybierz przycisk OK.

    Zrzut ekranu przedstawiający potwierdzenie uruchomienia potoku z sprawdzeniem parametru.

Monitorowanie potoku pełnego kopiowania

  1. W interfejsie użytkownika usługi Data Factory wybierz kartę Monitorowanie . Uruchomienie potoku i jego stan są wyświetlane na liście. Aby odświeżyć listę, wybierz pozycję Odśwież. Umieść kursor nad uruchomieniem potoku, aby uzyskać opcję Uruchom ponownie lub Zużycie .

    Zrzut ekranu przedstawiający przebieg i stan potoku.

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

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 potok z działaniami i uruchomisz go okresowo. Po uruchomieniu potoku:

  • Działania odnośników pobierają stare i nowe SYS_CHANGE_VERSION wartości z usługi Azure SQL Database i przekazują je do działania 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. W interfejsie użytkownika usługi Data Factory przejdź do karty Autor. Wybierz pozycję +, a następnie wybierz pozycję Potok potoku>.

    Zrzut ekranu przedstawiający sposób tworzenia potoku w fabryce 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ę potoku na IncrementalCopyPipeline.

  3. Rozwiń węzeł Ogólne w przyborniku Działania . Przeciągnij działanie odnośnika na powierzchnię projektanta potoku 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 przechowywanej table_store_ChangeTracking_version w tabeli.

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

  5. Przeciągnij działanie odnośnika z przybornika Działania do powierzchni projektanta potoku. 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 Ujście. W obszarze Zestaw danych ujścia wybierz pozycję SinkDataset.

  10. Połącz oba działania wyszukiwania z działaniem kopiowania jeden po drugim. 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 table_store_ChangeTracking_version tabeli.

  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 weryfikacja nie zwróciła błędów. Zamknij okno Raport weryfikacji potoku.

  15. Opublikuj jednostki (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.

Uruchamianie potoku kopiowania przyrostowego

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

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

  2. W oknie Uruchamianie potoku wybierz przycisk OK.

Monitorowanie potoku 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 uruchomienia potoku dla fabryki danych.

  2. Aby wyświetlić uruchomienia działań skojarzone z uruchomieniem potoku, wybierz link IncrementalCopyPipeline w kolumnie Nazwa potoku. Działanie jest wyświetlane na liście.

    Zrzut ekranu przedstawiający uruchomienia 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 są zmieniane 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: