Tilføj Azure SQL Database Change Data Capture (CDC) som kilde i realtidshub

I denne artikel beskrives det, hvordan du henter hændelser fra Azure SQL Database Change Data Capture (CDC) til Fabric Real-Time-hub.

Azure SQL Database CDC-kildeconnectoren til Microsoft Fabric-hændelsesstrømme giver dig mulighed for at hente et snapshot af de aktuelle data i en Azure SQL-database. Connectoren overvåger og registrerer derefter eventuelle fremtidige ændringer af disse data på rækkeniveau. Når ændringerne er registreret i eventstream, kan du behandle disse CDC-data i realtid og sende dem til forskellige destinationer i Fabric for yderligere behandling eller analyse.

Note

Med DeltaFlow (Preview) kan du transformere rå Debezium CDC-begivenheder til analyseklare strømme, der spejler din kildetabelstruktur. DeltaFlow automatiserer skemaregistrering, håndtering af destinationstabeller og håndtering af skemaudvikling. For at bruge DeltaFlow vælg Analytics-klar events og automatisk opdateret skema under skemahåndteringstrinnet.

Prerequisites

  • Adgang til et arbejdsområde i Fabric-kapacitetslicenstilstand eller Prøvelicens-tilstand med bidragyder eller højere tilladelser.
  • En kørende Azure SQL-server med en Azure SQL-database.
  • Din Azure SQL-database bør være offentligt tilgængelig og ikke være bag en firewall eller sikret i et virtuelt netværk. Hvis den befinder sig i et beskyttet netværk, skal du forbinde til den ved at bruge Eventstream connector virtuel netværksinjektion.
  • Aktiveret CDC i din Azure SQL-database ved at køre den lagrede procedure sys.sp_cdc_enable_db. Du kan finde flere oplysninger under Aktivér og deaktiver ændring af datahentning.

Note

Aktiver ikke spejling i din Azure SQL-database.

Aktivér CDC i din Azure SQL Database

  1. Gå til Azure-portal, åbn din Azure SQL-database, og vælg Forespørgselseditor. Vælg en autentificeringsmetode til at logge ind.

    Et skærmbillede af åbning af Azure SQL-database.

  2. Kør følgende SQL-kommandoer for at aktivere CDC i databasen:

    -- Enable Database for CDC
    EXEC sys.sp_cdc_enable_db;
    
    -- Enable CDC for a table using a gating role option
    EXEC sys.sp_cdc_enable_table
        @source_schema = N'dbo',
        @source_name   = N'MyTable',
        @role_name     = NULL
    GO
    

Siden Datakilder

  1. Log på Microsoft Fabric.

  2. Hvis du kan se Power BI nederst til venstre på siden, skal du skifte til arbejdsbelastningen Fabric ved at vælge Power BI og derefter vælge Struktur.

    Skærmbillede, der viser, hvordan du skifter til Fabric-arbejdsbelastningen.

  3. Vælg Realtid på venstre navigationslinje.

    Skærmbillede, der viser, hvordan du starter Opret forbindelse til datakildeoplevelse.

  4. Streaming-datasiden åbner som standard. Klik på knappen Tilføj data for at komme til siden Datakilder .

    Skærmbillede, der viser siden Datakilder i Real-Time hub.

    Du kan også komme direkte til siden for datakilder ved at vælge ' Tilføj data' i venstre navigationslinje.

    Skærmbillede, der viser knappen Opret forbindelse til datakilde.

  1. På siden Data kilder vælger du Microsoft kilder-kategorien øverst, og vælg derefter ConnectAzure SQL DB (CDC) flisen.

    Skærmbillede, der viser valget af Azure SQL Database (CDC) som kildetype på siden Datakilder.

    Brug instruktioner fra afsnittet Opret forbindelse til en Azure SQL Database CDC-kilde .

Opret forbindelse til en Azure SQL Database CDC-kilde

Indtag ændringsdata fra Azure SQL-databaser med automatisk registrering af tabelskema via CDC til Eventstream.

Note

DeltaFlow (Forhåndsvisning): Når du vælger Analytics-klar events og automatisk opdateret skema i skemahåndteringstrinnet, omdanner DeltaFlow rå Debezium CDC-begivenheder til analytics-klare streams, der spejler din kildetabelstruktur. DeltaFlow automatiserer også oprettelse af destinationstabeller og håndtering af skemaudvikling.

  1. Vælg Ny forbindelse på siden Opret forbindelse.

    Skærmbillede, der viser siden Opret forbindelse i guiden Hent hændelser med linket Ny forbindelse fremhævet.

  2. I afsnittet Forbindelsesindstillinger skal du angive følgende værdier for din Azure SQL-database:

    • Server: Angiv navnet på Azure SQL-serveren fra Azure-portal. Det er i denne form: mysqlservername.database.windows.net.

    • Database: Angiv navnet på Azure SQL-databasen fra Azure-portal.

      Skærmbillede, der viser afsnittet Forbindelsesindstillinger på siden Ny forbindelse.

  3. Rul ned, og følg disse trin i afsnittet Legitimationsoplysninger for forbindelse.

    • Angiv et navn til forbindelsen som Forbindelsesnavn.

    • Vælg Grundlæggende som Godkendelsestype.

      Note

      I øjeblikket understøtter Fabric Eventstream kun Basic-godkendelse .

    • Angiv brugernavn og adgangskode for databasen.

  4. Vælg Opret forbindelse.

    Skærmbillede, der viser afsnittet Forbindelseslegitimationsoplysninger på siden Ny forbindelse.

  5. På siden Opret forbindelse skal du nu vælge Alle tabeller eller Angiv tabelnavne. Hvis du vælger sidstnævnte, skal du angive tabeller ved hjælp af en kommasepareret liste over komplette tabel-id'er (schemaName.tableName) eller gyldige regulære udtryk. Eksempel:

    • Brug dbo.test.* til at vælge alle tabeller, hvis navne starter med dbo.test.
    • Brug dbo\.(test1|test2) til at vælge dbo.test1 og dbo.test2.

    Du kan blande begge formater ved hjælp af kommaer. Den samlede tegngrænse for hele posten er 102.400 tegn.

  6. Du kan udvide Avancerede indstillinger for at få adgang til flere konfigurationsmuligheder for Azure SQL Database CDC-kildekoden:

    • Decimalhåndteringstilstand: Definerer, hvordan forbindelsen håndterer DECIMAL og NUMERIC kolonneværdier:
      • Precise: Repræsenterer værdier ved hjælp af præcise decimaltyper (f.eks. Java BigDecimal) for at sikre fuld præcision og nøjagtighed i datarepræsentation.
      • Double: Konverterer værdier til flydende tal med dobbelt præcision. Denne indstilling forbedrer brugervenligheden og ydeevnen, men kan resultere i tab af præcision.
      • String: Koder værdier som formaterede strenge. Denne indstilling gør det nemt at bruge i downstream-systemer, men mister semantiske oplysninger om den oprindelige numeriske type.
    • Snapshot-tilstand: Angiv kriterierne for at udføre et snapshot, når forbindelsen starter:
      • Initial: Connectoren kører kun et snapshot, når der ikke er registreret offsets for det logiske servernavn, eller hvis den opdager, at et tidligere snapshot ikke blev fuldført. Når snapshotet er færdigt, begynder connectoren at streame hændelsesposter for efterfølgende databaseændringer.
      • InitialOnly: Connectoren kører kun et snapshot, når der ikke er registreret offsets for det logiske servernavn. Når snapshotet er færdigt, stopper forbindelsen. Den overgår ikke til streaming for at læse ændringsbegivenheder fra binloggen.
      • NoData: Connectoren kører et snapshot, der kun fanger skemaet, men ikke nogen tabeldata. Sæt denne mulighed, hvis du ikke har brug for et konsekvent snapshot af dataene, men kun de ændringer, der sker, siden forbindelsen starter.
    • Kolonne udelukkelsesliste: Specificerer kolonner, der skal udelukkes fra ændring af hændelsesværdier ved brug af fuldt kvalificerede navne (schemaName.tableName.columnName).
    • DatabaseapplikationIntention: Bestemmer routingadfærden i SQL Server Always On tilgængelighedsgrupper:
      • ReadWrite: Forbinder til den primære kopi. Brug denne mulighed, hvis forbindelsen skal udføre både læse- og skriveoperationer.
      • ReadOnly: Tillader routing til en læsbar sekundær replika for skrivebeskyttede operationer. Brug den til at aktivere CDC direkte på replikaer. Den kræver, at snapshot.isolation.mode sættes til snapshot, hvilket er den eneste transaktionsisolationstilstand, der understøttes for skrivebeskyttede replikager.
    • Snapshot select statement override: Brug egenskaben, hvis du vil have et snapshot til kun at inkludere en delmængde af rækkerne i en tabel. Denne egenskab påvirker kun snapshots. Det gælder ikke for begivenheder, som connectoren læser fra loggen.

Strøm- eller kildedetaljer

  1. Connect-siden følger du et af disse trin afhængigt af, om du bruger Eventstream eller Real-Time hub.

    • Eventstream:

      I kilde-detaljepanelet til højre følger du disse trin:

      1. For Kildenavn skal du vælge Pencil-knappen for at ændre navnet.

      2. Bemærk, at Eventstream-navnet og Stream-navnet er skrivebeskyttet.

    • Real-Time hub:

      I afsnittet Stream Details til højre følger du disse trin:

      1. Vælg Fabric-arbejdsområdet , hvor du vil oprette eventstreamen.

      2. For Eventstream-navn, vælg Pencil-knappen og indtast et navn til eventstreamen.

      3. Værdien Stream-navn genereres automatisk for dig ved at tilføje -stream til navnet på eventstreamen. Denne strøm vises på realtidshubbens side for alle datastrømme, når guiden er færdig.

  2. Vælg Næste nederst på siden Konfigurér .

Gennemgå og forbind

På skærmen Gennemgå + forbind , gennemgå oversigten, og vælg Tilføj (Eventstream) eller Forbind (Real-Time hub).

Skemahåndteringsside

  1. På siden Skemahåndtering vælger du en af følgende muligheder:

    • Analyseklare begivenheder og automatisk opdateret skema (DeltaFlow Preview): Connectoren omdanner rå CDC-hændelser til analyseklare strømme, der spejler din kildetabelstruktur. DeltaFlow beriger begivenheder med metadata såsom ændringstype (indsæt, opdatering eller slet) og tidsstempler, og håndterer automatisk destinationstabeller og skemaudvikling.
    • Rå CDC-begivenheder: Connectoren indlæser og gør de rå CDC-begivenheder tilgængelige. Eventuelt kan connectoren automatisk opdage tabelskemaer og registrere dem i skemaregistret. Brug denne mulighed, når du ønsker skemabevidsthed uden DeltaFlow-transformation.

    Note

    Følgende skærmbillede viser Azure SQL Database CDC. Skemahåndteringsmulighederne er de samme for alle understøttede CDC-kildestik.

    Skærmbillede, der viser skemahåndteringstrinnet med DeltaFlow og rå CDC-hændelsesmuligheder for en CDC-kildekonnektor.

  2. Aktivér tilknytning af hændelsesskema.

  3. For Arbejdsområde skal du vælge et strukturarbejdsområde for skemasættet.

  4. For Skemasæt er + Opret valgt som standard, hvilket opretter et nyt skemasæt. Du kan ændre den for at vælge et eksisterende hændelsesskemasæt.

  5. Hvis du har valgt indstillingen + Opret i forrige trin, skal du angive et navn til skemasættet.

  6. På siden Anmeldelse + forbind skal du vælge Tilføj (Eventstream) eller Forbind (Real-Time hub).

    Skærmbillede, der viser siden Gennemse + Opret forbindelse for Azure SQL Database CDC-kilden.

    For alle tabeller eller valgte tabeller i Azure SQL-databasen registrerer og opretter connectoren automatisk skemaer og registrerer dem i skemaregistreringsdatabasen.

  7. Vælg eventstream-noden i midten, og skift til fanen Tilknyttede skemaer i den nederste rude.

    Skærmbillede, der viser vinduet Tilknyttet skema i den nederste rude.

Skema sæt

  1. Gå til det arbejdsområde, du valgte i forrige trin. I følgende eksempel er det Mit arbejdsområde.

  2. Vælg det skemasæt, som CDC-connectoren (Azure SQL Database) har oprettet.

    Skærmbillede, der viser det genererede skema, der er angivet på siden Mit arbejdsområde.

  3. Du kan se skemaerne i skemasættet som vist på følgende billede.

    Skærmbillede, der viser skemaer i det genererede skemasæt.

  4. Hvis du vil se JSON-versionen af skemaet, skal du skifte til JSON-skemavisningen .

    Skærmbillede, der viser JSON-skemavisningen.

    Du må ikke ændre disse registrerede skemaer ved hjælp af denne editor, da den bliver ikke-bekræftende med skemaet for tabeller i Azure SQL-databasekilden.

DeltaFlow: Analytics-klar eventtransformation (Forhåndsvisning)

Når du aktiverer Analytics-klare begivenheder og automatisk opdateret skema (DeltaFlow), tilbyder connectoren følgende funktioner:

  • Analyseklar hændelsesform: Rå Debezium CDC-begivenheder omdannes til et tabelformat, der spejler kildetabelstrukturen. Begivenheder beriges med metadatakolonner, herunder ændringstypen (insert, update, eller delete) og begivenhedstidsstempelet.

  • Automatisk destinationstabshåndtering: Når du ruter DeltaFlow-aktiverede strømme til en understøttet destination som et eventhouse, oprettes destinationstabeller automatisk for at matche kildetabelskemaet. Du behøver ikke manuelt at oprette eller konfigurere destinationstabeller.

  • Håndtering af skemaudvikling: Når kildedatabasetabeller ændres (for eksempel tilføjes nye kolonner eller tabeller oprettes), opdager DeltaFlow automatisk ændringerne, opdaterer de registrerede skemaer og justerer destinationstabellerne derefter. Denne mulighed minimerer manuel indgriben forårsaget af skemaændringer.

    Skærmbillede, der viser Eventhouse-destinationstabeller i analyseklar form oprettet af DeltaFlow.

Note

DeltaFlow (Preview) understøttes i øjeblikket med Azure SQL Database CDC, Azure SQL Managed Instance CDC, SQL Server på VM CDC og PostgreSQL CDC kildekode-connectors.

For detaljer om, hvordan DeltaFlow omdanner rå CDC-hændelser til analyseklar output, inklusive operationstyper og metadatakolonner, se DeltaFlow outputtransformation.

Få vist oplysninger om datastream

  1. Hvis du vælger Open eventstream på siden Gennemse + opret forbindelse, åbner guiden den hændelsesstream, som den oprettede for dig, med den valgte Azure SQL Database CDC som kilde. Hvis du vil lukke guiden, skal du vælge Udfør nederst på siden.

    Skærmbillede, der viser siden Gennemse + opret forbindelse, når kilden er oprettet.

  2. Du bør kunne se streamen i afsnittet Seneste streamingdata på startsiden forReal-Time hub . Du kan finde detaljerede trin under Få vist detaljer om datastrømme i Fabric Real-Time-hubben.

Du kan få mere at vide om brug af datastrømme i følgende artikler: