Dela via


Läs in data stegvis från flera tabeller i SQL Server till en databas i Azure SQL Database med hjälp av Azure-portalen

GÄLLER FÖR: Azure Data Factory Azure Synapse Analytics

Dricks

Prova Data Factory i Microsoft Fabric, en allt-i-ett-analyslösning för företag. Microsoft Fabric omfattar allt från dataflytt till datavetenskap, realtidsanalys, business intelligence och rapportering. Lär dig hur du startar en ny utvärderingsversion kostnadsfritt!

I den här självstudien skapar du en Azure Data Factory med en pipeline som läser in deltadata från flera tabeller i en SQL Server-databas till en databas i Azure SQL Database.

I de här självstudierna går du igenom följande steg:

  • Förbereda käll- och måldatalager.
  • Skapa en datafabrik.
  • Skapa en lokalt installerad integrationskörning.
  • Installera Integration Runtime.
  • Skapa länkade tjänster.
  • Skapa datauppsättningar för källa, mottagare och vattenstämpel.
  • Skapa, köra och övervaka en pipeline.
  • Granska resultaten.
  • Lägga till eller uppdatera data i källtabeller.
  • Köra och övervaka pipelinen igen.
  • Granska de slutliga resultaten.

Översikt

Här är några viktiga steg för att skapa den här lösningen:

  1. Markera vattenstämpelkolumnen.

    Markera en kolumn för varje tabell i källdatalagret som går att använda för att identifiera de nya eller uppdaterade posterna för varje körning. Vanligtvis ökar data i den markerade kolumnen (till exempel last_modify_time elle ID) när rader skapas eller uppdateras. Det maximala värdet i den här kolumnen används som vattenstämpel.

  2. Förbered datalagringen för att lagra värdet för vattenstämpeln.

    I den här självstudien lagrar du storleksgränsen i en SQL-databas.

  3. Skapa en pipeline med följande aktiviteter:

    a. Skapa en ForEach-aktivitet som upprepas över en lista med namn på källtabeller och som skickas som en parameter till pipelinen. För varje källtabell anropas följande aktiviteter som utför deltainläsningen för tabellen.

    b. Skapa två sökningsaktiviteter. Använd den första sökningsaktiviteten för att hämta det sista vattenstämpelvärdet. Använd den andra sökningsaktiviteten för att hämta det nya vattenstämpelvärdet. Vattenstämpelvärdena skickas till kopieringsaktiviteten.

    c. Skapa en {0}kopieringsaktivitet{0} som kopierar raderna från källdatalagringen med värdet för vattenstämpelkolumnen som är större än det gamla värdet och mindre än det nya. Sedan kopieras deltadata från källdatalagringen till Azure Blob-lagring som en ny fil.

    d. Skapa en StoredProcedure-aktivitet som uppdaterar vattenstämpelvärdet för den pipeline som körs nästa gång.

    Här är det avancerade diagrammet:

    Läsa in data stegvis

Om du inte har någon Azure-prenumeration skapar du ett kostnadsfritt konto innan du börjar.

Förutsättningar

  • SQL Server. Du använder en SQL Server-databas som källdatalager i den här självstudien.
  • Azure SQL Database. Du använder en databas i Azure SQL Database som datalager för mottagare. Om du inte har någon databas i SQL Database kan du läsa Skapa en databas i Azure SQL Database för steg för att skapa en.

Skapa källtabeller i din SQL Server-databas

  1. Öppna SQL Server Management Studio och anslut till din SQL Serverdatabas.

  2. I Server Explorer högerklickar du på databasen och väljer Ny fråga.

  3. Kör följande SQL-kommando mot databasen för att skapa tabeller med namnen customer_table och project_table:

    create table customer_table
    (
        PersonID int,
        Name varchar(255),
        LastModifytime datetime
    );
    
    create table project_table
    (
        Project varchar(255),
        Creationtime datetime
    );
    
    INSERT INTO customer_table
    (PersonID, Name, LastModifytime)
    VALUES
    (1, 'John','9/1/2017 12:56:00 AM'),
    (2, 'Mike','9/2/2017 5:23:00 AM'),
    (3, 'Alice','9/3/2017 2:36:00 AM'),
    (4, 'Andy','9/4/2017 3:21:00 AM'),
    (5, 'Anny','9/5/2017 8:06:00 AM');
    
    INSERT INTO project_table
    (Project, Creationtime)
    VALUES
    ('project1','1/1/2015 0:00:00 AM'),
    ('project2','2/2/2016 1:23:00 AM'),
    ('project3','3/4/2017 5:16:00 AM');
    
    

Skapa måltabeller i databasen

  1. Öppna SQL Server Management Studio och anslut till databasen i Azure SQL Database.

  2. I Server Explorer högerklickar du på databasen och väljer Ny fråga.

  3. Kör följande SQL-kommando mot databasen för att skapa tabeller med namnen customer_table och project_table:

    create table customer_table
    (
        PersonID int,
        Name varchar(255),
        LastModifytime datetime
    );
    
    create table project_table
    (
        Project varchar(255),
        Creationtime datetime
    );
    
    

Skapa en annan tabell i databasen för att lagra värdet för högvattenstämpel

  1. Kör följande SQL-kommando mot databasen för att skapa en tabell med namnet watermarktable för att lagra vattenstämpelvärdet:

    create table watermarktable
    (
    
        TableName varchar(255),
        WatermarkValue datetime,
    );
    
  2. Infoga inledande värden för högvattenmärket för båda källtabellerna i vattenmärkestabellen.

    
    INSERT INTO watermarktable
    VALUES 
    ('customer_table','1/1/2010 12:00:00 AM'),
    ('project_table','1/1/2010 12:00:00 AM');
    
    

Skapa en lagrad procedur i databasen

Kör följande kommando för att skapa en lagrad procedur i databasen. Den här lagrade proceduren uppdaterar vattenmärkets värde efter varje pipelinekörning.

CREATE PROCEDURE usp_write_watermark @LastModifiedtime datetime, @TableName varchar(50)
AS

BEGIN

UPDATE watermarktable
SET [WatermarkValue] = @LastModifiedtime 
WHERE [TableName] = @TableName

END

Skapa datatyper och ytterligare lagrade procedurer i databasen

Kör följande fråga för att skapa två lagrade procedurer och två datatyper i databasen. De används för att slå samman data från källtabellerna till måltabellerna.

För att göra resan enkel att börja med använder vi direkt dessa lagrade procedurer som skickar deltadata via en tabellvariabel och sammanfogar dem sedan till målarkivet. Var försiktig så att det inte förväntar sig att ett "stort" antal deltarader (mer än 100) ska lagras i tabellvariabeln.

Om du behöver sammanfoga ett stort antal deltarader i målarkivet föreslår vi att du använder kopieringsaktivitet för att kopiera alla deltadata till en tillfällig "mellanlagringstabell" i mållagret först och sedan skapar en egen lagrad procedur utan att använda tabellvariabeln för att sammanfoga dem från tabellen "mellanlagring" till tabellen "final".

CREATE TYPE DataTypeforCustomerTable AS TABLE(
    PersonID int,
    Name varchar(255),
    LastModifytime datetime
);

GO

CREATE PROCEDURE usp_upsert_customer_table @customer_table DataTypeforCustomerTable READONLY
AS

BEGIN
  MERGE customer_table AS target
  USING @customer_table AS source
  ON (target.PersonID = source.PersonID)
  WHEN MATCHED THEN
      UPDATE SET Name = source.Name,LastModifytime = source.LastModifytime
  WHEN NOT MATCHED THEN
      INSERT (PersonID, Name, LastModifytime)
      VALUES (source.PersonID, source.Name, source.LastModifytime);
END

GO

CREATE TYPE DataTypeforProjectTable AS TABLE(
    Project varchar(255),
    Creationtime datetime
);

GO

CREATE PROCEDURE usp_upsert_project_table @project_table DataTypeforProjectTable READONLY
AS

BEGIN
  MERGE project_table AS target
  USING @project_table AS source
  ON (target.Project = source.Project)
  WHEN MATCHED THEN
      UPDATE SET Creationtime = source.Creationtime
  WHEN NOT MATCHED THEN
      INSERT (Project, Creationtime)
      VALUES (source.Project, source.Creationtime);
END

Skapa en datafabrik

  1. Starta webbläsaren Microsoft Edge eller Google Chrome. Just nu är det bara webbläsarna Microsoft Edge och Google Chrome som har stöd för Data Factory UI.

  2. Välj Skapa en resursintegreringsdatafabrik>> på den vänstra menyn:

    Val av Data Factory i

  3. På sidan Ny datafabrik anger du ADFMultiIncCopyTutorialDF som namn.

    Namnet på Azure Data Factory måste vara globalt unikt. Om du ser ett rött utropstecken med följande fel ändrar du namnet på datafabriken (till exempel dittnamnADFIncCopyTutorialDF) och provar att skapa fabriken igen. Se artikeln Data Factory – namnregler för namnregler för Data Factory-artefakter.

    Data factory name "ADFIncCopyTutorialDF" is not available

  4. Välj den Azure-prenumeration som du vill skapa den nya datafabriken i.

  5. För resursgruppen utför du något av följande steg:

  6. Välj V2 för versionen.

  7. Välj plats för datafabriken. Endast platser som stöds visas i listrutan. Datalagren (Azure Storage, Azure SQL Database osv.) och beräkningarna (HDInsight osv.) som används i Data Factory kan finnas i andra regioner.

  8. Klicka på Skapa.

  9. När datafabriken har skapats visas sidan Datafabrik som på bilden.

    Startsida för Azure Data Factory med panelen Öppna Azure Data Factory Studio.

  10. Välj Öppna på panelen Öppna Azure Data Factory Studio för att starta Användargränssnittet för Azure Data Factory på en separat flik.

Skapa Integration Runtime med lokal installation

När du flyttar data från ett datalager i ett privat nätverk (lokalt) till ett Azure-datalager ska du installera en lokal Integration Runtime (IR) i din lokala miljö. Lokalt installerad IR flyttar data mellan ditt privata nätverk och Azure.

  1. På startsidan för Azure Data Factory-användargränssnittet väljer du fliken Hantera i det vänstra fönstret.

    Knappen Hantera startsida

  2. Välj Integreringskörningar i det vänstra fönstret och välj sedan +Nytt.

    Skapa Integration Runtime

  3. I fönstret Installation av Integration Runtime väljer du Utför dataflytt och sändningsaktiviteter till externa beräkningar och klickar på Fortsätt.

  4. Välj Lokalt värdhanterad och klicka på Fortsätt.

  5. Ange MySelfHostedIR som Namn och klicka på Skapa.

  6. Klicka på Click here to launch the express setup for this computer (Klicka här för att starta expressinstallation för den här datorn) i avsnittet Option 1: Express setup (Alternativ 1: Expressinstallation).

    Klicka på länken för expressinstallation

  7. Klicka på Stäng i fönstret Snabbinstallation av Integration Runtime (lokal installation).

    Integration Runtime har installerats

  8. Klicka på Slutför i webbläsaren för att stänga installationsfönstret för Integration Runtime.

  9. Bekräfta att du ser MySelfHostedIR i listan över Integration Runtimes.

Skapa länkade tjänster

Du kan skapa länkade tjänster i en datafabrik för att länka ditt datalager och beräkna datafabrik-tjänster. I det här avsnittet skapar du länkade tjänster till din SQL Server-databas och din databas i Azure SQL Database.

Skapa länkad tjänst till SQL Server

I det här steget länkar du SQL Server-databasen till datafabriken.

  1. I fönstret Anslutningar växlar du från fliken Integration Runtimes till fliken med länkade tjänster och klickar på + Ny.

    Ny länkad tjänst.

  2. I fönstret New Linked Service (Ny länkad tjänst) väljer du SQL Server och klickar på Fortsätt.

  3. Utför följande steg i fönstret New Linked Service (Ny länkad tjänst):

    1. Ange SqlServerLinkedService som namn.
    2. Välj MySelfHostedIR för Connect via integration runtime (Anslut via Integration Runtime). Det här är ett viktigt steg. Integration Runtime i standardversionen kan inte ansluta till ett lokalt datalager. Använda den lokalt installerade Integration Runtime som du skapade tidigare.
    3. För Servernamn anger du namnet på den dator som har SQL Server-databasen.
    4. För Databasnamn anger du namnet på databasen i SQL Server som innehåller källdata. Du skapade en tabell och infogade data i den här databasen som en del av förberedelserna.
    5. För Autentiseringstyp väljer du vilken typ av autentisering du vill använda för att ansluta till databasen.
    6. För Användarnamn anger du namnet på en användare som har åtkomst till SQL Server-databasen. Om du behöver använda ett snedstreck (\) i ditt användarkonto eller användarnamn använder du escape-tecknet (\). Ett exempel är mydomain\\myuser.
    7. För Lösenord anger du lösenordet för användaren.
    8. Om du vill testa om Data Factory kan ansluta till SQL Server-databasen, klickar du på Testa anslutning. Åtgärda eventuella fel tills anslutningen lyckas.
    9. Spara den länkade tjänsten genom att klicka på Slutför.

Skapa länkad tjänst för Azure SQL Database

I det sista steget skapar du en länkad tjänst för att länka SQL Server-databasen till datafabriken. I det här steget länkar du mål-/mottagardatabasen till datafabriken.

  1. I fönstret Anslutningar växlar du från fliken Integration Runtimes till fliken med länkade tjänster och klickar på + Ny.

  2. I fönstret New Linked Service (Ny länkad tjänst) väljer du Azure SQL Database och klickar på Fortsätt.

  3. Utför följande steg i fönstret New Linked Service (Ny länkad tjänst):

    1. Ange AzureSqlDatabaseLinkedService som namn.
    2. Som Servernamn väljer du namnet på servern i listrutan.
    3. Som Databasnamn väljer du den databas där du skapade customer_table och project_table som en del av förutsättningarna.
    4. Som Användarnamn anger du namnet på den användare som har åtkomst till databasen.
    5. För Lösenord anger du lösenordet för användaren.
    6. Om du vill testa om Data Factory kan ansluta till SQL Server-databasen, klickar du på Testa anslutning. Åtgärda eventuella fel tills anslutningen lyckas.
    7. Spara den länkade tjänsten genom att klicka på Slutför.
  4. Bekräfta att du ser två länkade tjänster i listan.

    Två länkade tjänster

Skapa datauppsättningar

I det här steget skapar du datauppsättningar som representerar datakällan, datamålet och platsen för vattenstämpeln.

Skapa en källdatauppsättning

  1. I den vänstra rutan klickar du på + (plus) och sedan på Datauppsättning.

  2. I fönstret Ny datauppsättning väljer du SQL Server och klickar på Fortsätt.

  3. Du ser en ny flik öppnas i webbläsaren för att konfigurera datauppsättningen. Du ser också en datauppsättning i trädvyn. Längst ned på fliken Allmänt i fönstret Egenskaper skriver du SourceDataset som namn.

  4. Byt till fliken Connection (Anslutning) i fönstret Egenskaper och välj SqlServerLinkedService för Linked service (Länkad tjänst). Du väljer inte en tabell här. Kopieringsaktivitet i pipelinen använder en SQL-fråga till att läsa in data, snarare än att läsa in hela tabellen.

    Källdatauppsättning – anslutning

Skapa en källdatauppsättning

  1. I den vänstra rutan klickar du på + (plus) och sedan på Datauppsättning.

  2. I fönstret Ny datauppsättning väljer du Azure SQL Database och klickar på Fortsätt.

  3. Du ser en ny flik öppnas i webbläsaren för att konfigurera datauppsättningen. Du ser också en datauppsättning i trädvyn. Längst ned på fliken Allmänt i fönstret Egenskaper skriver du SinkDataset som namn.

  4. Växla till fliken Parameters (Parametrar) i fönstret Egenskaper och utför följande steg:

    1. Klicka på + Ny i avsnittet för att skapa/uppdatera parametrar.

    2. Ange SinkTableName som namn, och String som typ. Den här datauppsättningen tar SinkTableName som en parameter. Parametern SinkTableName anges dynamiskt vid körning av pipelinen. ForEach-aktiviteten i pipelinen upprepas över en lista med tabellnamn och skickar tabellnamnet till datamängden i varje iteration.

      Mottagardatauppsättning – egenskaper

  5. Växla till fliken Anslutning i fönstret Egenskaper och välj AzureSqlDatabaseLinkedService för länkad tjänst. För egenskapen Table (Tabell) klickar du på Add dynamic content (Lägg till dynamiskt innehåll).

  6. I fönstret Lägg till dynamiskt innehåll väljer du SinkTableName i avsnittet Parametrar .

  7. När du har klickat på Slutför visas "@dataset(). SinkTableName" som tabellnamn.

    Datauppsättning för mottagare – anslutning

Skapa en datauppsättning för en vattenstämpel

I det här steget skapar du en datauppsättning för att lagra ett värde för ett högvattenmärke.

  1. I den vänstra rutan klickar du på + (plus) och sedan på Datauppsättning.

  2. I fönstret Ny datauppsättning väljer du Azure SQL Database och klickar på Fortsätt.

  3. Längst ned på fliken Allmänt i fönstret Egenskaper skriver du WatermarkDataset som namn.

  4. Växla till fliken Anslutning och gör följande:

    1. Välj AzureSqlDatabaseLinkedService som länkad tjänst.

    2. Välj [dbo].[watermarktable] för Tabell.

      Vattenmärkesdatauppsättning – anslutning

Skapa en pipeline

Den här pipelinen tar en lista med tabellnamn som en parameter. ForEach-aktiviteten upprepas över listan med tabellnamn och utför följande åtgärder:

  1. Använd sökningsaktiviteten till att hämta det gamla vattenmärkesvärdet (startvärdet eller det som användes i den senaste iterationen).

  2. Använd sökningsaktiviteten för att hämta det nya högvattenmärket (högsta värdet i kolumnen vattenmärke i källtabellen).

  3. Använd kopieringsaktiviteten till att kopiera data mellan de två vattenmärkesvärdena från källdatabasen till måldatabasen.

  4. Använd StoredProcedure-aktiviteten för att uppdatera det gamla vattenmärket som ska användas i det första steget i nästa iteration.

Skapa pipelinen

  1. I den vänstra rutan klickar du på + (plus) och sedan på Pipeline.

  2. I panelen Allmänt under Egenskaper anger du IncrementalCopyPipeline som Namn. Dölj sedan panelen genom att klicka på ikonen Egenskaper i det övre högra hörnet.

  3. Gör följande på fliken Parametrar :

    1. Klicka på + Ny.
    2. Ange tableList som parameterns namn.
    3. Välj Matris som parametertyp.
  4. I verktygslådan Aktiviteter expanderar du Iteration & Conditions (Iteration och villkor) och drar och släpper aktiviteten ForEach till pipelinedesignytan. På fliken Allmänt i fönstret Egenskaper skriver du IterateSQLTables som namn.

  5. Växla till fliken Inställningar och ange @pipeline().parameters.tableList för Objekt. Aktiviteten ForEach upprepas över listan med tabeller och utför följande inkrementella kopieringsåtgärd.

    Aktiviteten ForEach – inställningar

  6. Markera aktiviteten ForEach i pipelinen om det inte redan är markerat. Klicka på knappen Redigera (pennikonen).

  7. I verktygslådan Aktiviteter expanderar du Allmänt och drar och släpper sökningen på pipelinedesignytan. Ange LookupOldWaterMarkActivity som Namn.

  8. Växla till fliken Settings (Inställningar) i fönstret Egenskaper och utför följande steg:

    1. Markera WatermarkDataset för Källdatauppsättning.

    2. Välj Fråga för Använd fråga.

    3. Ange följande SQL-fråga för Fråga.

      select * from watermarktable where TableName  =  '@{item().TABLE_NAME}'
      

      Första Lookup-aktiviteten – inställningar

  9. Dra och släpp aktiviteten Lookup från verktygslådan Aktiviteter och ange LookupNewWaterMarkActivity som namn.

  10. Växla till fliken Settings (Inställningar).

    1. Markera SourceDataset för Källdatauppsättning.

    2. Välj Fråga för Använd fråga.

    3. Ange följande SQL-fråga för Fråga.

      select MAX(@{item().WaterMark_Column}) as NewWatermarkvalue from @{item().TABLE_NAME}
      

      Andra Lookup-aktiviteten – inställningar

  11. Dra och släpp aktiviteten Copy (Kopiera) från verktygslådan Aktiviteter och ange IncrementalCopyActivity som namn.

  12. Koppla aktiviteterna Lookup (Sökning) till aktiviteten Copy (Kopiering), en i taget. Koppla genom att börja dra den gröna rutan som hör till Lookup-aktiviteten och släpp den på Copy-aktiviteten. Släpp musknappen när du ser att kantlinjefärgen för kopieringsaktiviteten ändras till blått.

    Koppla sökningsaktiviteter till kopieringsaktivitet

  13. Markera Copy-aktiviteten i pipeline. Växla till fliken Source (Käll) i egenskapsfönstret.

    1. Markera SourceDataset för Källdatauppsättning.

    2. Välj Fråga för Använd fråga.

    3. Ange följande SQL-fråga för Fråga.

      select * from @{item().TABLE_NAME} where @{item().WaterMark_Column} > '@{activity('LookupOldWaterMarkActivity').output.firstRow.WatermarkValue}' and @{item().WaterMark_Column} <= '@{activity('LookupNewWaterMarkActivity').output.firstRow.NewWatermarkvalue}'        
      

      Kopiera aktivitet – källinställningar

  14. Växla till fliken Sink (Mottagare) och markera SinkDataset för Sink Dataset (Datauppsättning för mottagare).

  15. Använd följande steg:

    1. I datauppsättningsegenskaperna för parametern SinkTableName anger du @{item().TABLE_NAME}.

    2. För egenskapen Namn på lagrad procedur anger du @{item().StoredProcedureNameForMergeOperation}.

    3. För Egenskapen Tabelltyp anger du @{item().TableType}.

    4. För Parameternamn för tabelltyp anger du @{item().TABLE_NAME}.

      Kopieringsaktiviteten – parametrar

  16. Dra och släpp aktiviteten Lagrad procedur från verktygslådan Aktiviteter till pipelinedesignytan. Koppla aktiviteten Copy (Kopiera) till aktiviteten Lagrad procedur.

  17. Välj aktiviteten Lagrad procedur i pipelinen och ange StoredProceduretoWriteWatermarkActivity för namn på fliken Allmänt i fönstret Egenskaper.

  18. Växla till fliken SQL-konto och välj AzureSqlDatabaseLinkedService som Länkad tjänst.

    Lagrad proceduraktivitet – SQL-konto

  19. Växla till fliken Lagrad procedur och gör följande:

    1. Som Namn på lagrad procedur väljer du [dbo].[usp_write_watermark].

    2. Välj Importera parameter.

    3. Ange följande värden för parametrarna:

      Namn Typ Värde
      LastModifiedtime Datum/tid @{activity('LookupNewWaterMarkActivity').output.firstRow.NewWatermarkvalue}
      TableName String @{activity('LookupOldWaterMarkActivity').output.firstRow.TableName}

      Lagrad proceduraktivitet – inställningar för lagrad procedur

  20. Välj Publicera alla för att publicera de entiteter som du skapade till Data Factory-tjänsten.

  21. Vänta tills du ser meddelandet om att entiteterna har publicerats. Klicka på länken Visa meddelanden om du vill se dem. Stäng meddelandefönstret genom att klicka på X.

Köra pipelinen

  1. Klicka på Lägg till utlösare i verktygsfältet för pipelinen och klicka på Utlös nu.

  2. I fönstret Pipelinekörning anger du följande värde för parametern tableList. Klicka på Slutför.

    [
        {
            "TABLE_NAME": "customer_table",
            "WaterMark_Column": "LastModifytime",
            "TableType": "DataTypeforCustomerTable",
            "StoredProcedureNameForMergeOperation": "usp_upsert_customer_table"
        },
        {
            "TABLE_NAME": "project_table",
            "WaterMark_Column": "Creationtime",
            "TableType": "DataTypeforProjectTable",
            "StoredProcedureNameForMergeOperation": "usp_upsert_project_table"
        }
    ]
    

    Pipelinekörningsargument

Övervaka pipelinen

  1. Växla till fliken Övervaka till vänster. Du kan se den pipelinekörning som utlöstes av den manuella utlösaren. Du kan använda länkar under kolumnen PIPELINE NAME för att visa aktivitetsinformation och köra pipelinen igen.

  2. Om du vill se aktivitetskörningar som är associerade med pipelinekörningen väljer du länken under kolumnen PIPELINE NAME (PIPELINE NAME ). Om du vill ha mer information om aktivitetskörningarna väljer du länken Information (glasögonikonen) under kolumnen AKTIVITETSNAMN .

  3. Välj Alla pipelinekörningar överst för att gå tillbaka till vyn Pipelinekörningar. Välj Uppdatera för att uppdatera vyn.

Granska resultaten

Kör följande frågor mot SQL-måldatabasen i SQL Server Management Studio för att verifiera att data har kopierats från källtabellerna till måltabellerna:

Fråga

select * from customer_table

Output

===========================================
PersonID	Name	LastModifytime
===========================================
1	        John	2017-09-01 00:56:00.000
2	        Mike	2017-09-02 05:23:00.000
3	        Alice	2017-09-03 02:36:00.000
4	        Andy	2017-09-04 03:21:00.000
5	        Anny	2017-09-05 08:06:00.000

Fråga

select * from project_table

Output

===================================
Project	    Creationtime
===================================
project1	2015-01-01 00:00:00.000
project2	2016-02-02 01:23:00.000
project3	2017-03-04 05:16:00.000

Fråga

select * from watermarktable

Output

======================================
TableName	    WatermarkValue
======================================
customer_table	2017-09-05 08:06:00.000
project_table	2017-03-04 05:16:00.000

Observera att vattenstämpelvärdena för båda tabellerna har uppdaterats.

Lägga till mer data i källtabellerna

Kör följande fråga mot SQL Servers källdatabas för att uppdatera en befintlig rad i customer_table. Infoga en ny rad i project_table.

UPDATE customer_table
SET [LastModifytime] = '2017-09-08T00:00:00Z', [name]='NewName' where [PersonID] = 3

INSERT INTO project_table
(Project, Creationtime)
VALUES
('NewProject','10/1/2017 0:00:00 AM');

Kör pipelinen igen

  1. Växla till fliken Redigera till vänster i webbläsarfönstret.

  2. Klicka på Lägg till utlösare i verktygsfältet för pipelinen och klicka på Utlös nu.

  3. I fönstret Pipelinekörning anger du följande värde för parametern tableList. Klicka på Slutför.

    [
        {
            "TABLE_NAME": "customer_table",
            "WaterMark_Column": "LastModifytime",
            "TableType": "DataTypeforCustomerTable",
            "StoredProcedureNameForMergeOperation": "usp_upsert_customer_table"
        },
        {
            "TABLE_NAME": "project_table",
            "WaterMark_Column": "Creationtime",
            "TableType": "DataTypeforProjectTable",
            "StoredProcedureNameForMergeOperation": "usp_upsert_project_table"
        }
    ]
    

Övervaka pipelinen igen

  1. Växla till fliken Övervaka till vänster. Du kan se den pipelinekörning som utlöstes av den manuella utlösaren. Du kan använda länkar under kolumnen PIPELINE NAME för att visa aktivitetsinformation och köra pipelinen igen.

  2. Om du vill se aktivitetskörningar som är associerade med pipelinekörningen väljer du länken under kolumnen PIPELINE NAME (PIPELINE NAME ). Om du vill ha mer information om aktivitetskörningarna väljer du länken Information (glasögonikonen) under kolumnen AKTIVITETSNAMN .

  3. Välj Alla pipelinekörningar överst för att gå tillbaka till vyn Pipelinekörningar. Välj Uppdatera för att uppdatera vyn.

Granska de slutliga resultaten

I SQL Server Management Studio kör du följande frågor mot SQL-måldatabasen för att kontrollera att uppdaterade/nya data kopierades från källtabeller till måltabeller.

Fråga

select * from customer_table

Output

===========================================
PersonID	Name	LastModifytime
===========================================
1	        John	2017-09-01 00:56:00.000
2	        Mike	2017-09-02 05:23:00.000
3	        NewName	2017-09-08 00:00:00.000
4	        Andy	2017-09-04 03:21:00.000
5	        Anny	2017-09-05 08:06:00.000

Lägg märke till de nya värdena för Name och LastModifytime för PersonID för nummer 3.

Fråga

select * from project_table

Output

===================================
Project	    Creationtime
===================================
project1	2015-01-01 00:00:00.000
project2	2016-02-02 01:23:00.000
project3	2017-03-04 05:16:00.000
NewProject	2017-10-01 00:00:00.000

Observera att posten NewProject har lagts till i project_table.

Fråga

select * from watermarktable

Output

======================================
TableName	    WatermarkValue
======================================
customer_table	2017-09-08 00:00:00.000
project_table	2017-10-01 00:00:00.000

Observera att vattenstämpelvärdena för båda tabellerna har uppdaterats.

I den här självstudiekursen fick du:

  • Förbereda käll- och måldatalager.
  • Skapa en datafabrik.
  • Skapa Integration Runtime (IR) med egen värd.
  • Installera Integration Runtime.
  • Skapa länkade tjänster.
  • Skapa datauppsättningar för källa, mottagare och vattenstämpel.
  • Skapa, köra och övervaka en pipeline.
  • Granska resultaten.
  • Lägga till eller uppdatera data i källtabeller.
  • Köra och övervaka pipelinen igen.
  • Granska de slutliga resultaten.

Fortsätt till följande självstudie och lär dig att transformera data med ett Spark-kluster på Azure: