Del via


Føj Azure SQL Database CDC-kilde til en hændelsesstream

I denne artikel kan du se, hvordan du føjer en Azure SQL Database Change Data Capture -kilde (CDC) til en hændelsesstream.

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.

Forudsætninger

  • Adgang til et arbejdsområde i Fabric-kapacitetslicenstilstand (eller) prøvelicenstilstand med bidragydertilladelser eller højere tilladelser.
  • En kørende Azure SQL-server med en Azure SQL-database.
  • Din Azure SQL-database skal være offentligt tilgængelig og ikke være bag en firewall eller være sikret i et virtuelt netværk.
  • 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.
  • Hvis du ikke har en eventstream, skal du oprette en eventstream.

Bemærk, at du ikke må aktivere 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 godkendelsesmetode, der skal logges på.

    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
    

Start guiden Vælg en datakilde

Hvis du endnu ikke har tilføjet nogen kilde til din eventstream, vælg flisen Brug ekstern kilde.

Skærmbillede, der viser valget af flisen til brug af en ekstern kilde.

Hvis du tilføjer kildekoden til en allerede offentliggjort eventstream, så skift til Rediger-tilstand . På båndet skal du vælge Tilføj kilde>Eksterne kilder.

Skærmbillede, der viser valg til tilføjelse af eksterne kilder.

På siden Vælg en datakilde skal du søge efter og vælge Opret forbindelse i feltet Azure SQL DB (CDC).

Skærmbillede, der viser valget af Azure SQL DB CDC som kildetype i guiden Hent hændelser.

Konfigurer og opret forbindelse til Azure SQL Database CDC

  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.

      Bemærk

      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. Det kan f.eks. være:

    • 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 yderligere 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).
    • Database applicationIntent: Bestemmer routingadfærd i SQL Server Always On tilgængelighedsgrupper:
      • ReadWrite: Forbinder til den primære kopi. Brug dette, 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. Den gælder ikke for begivenheder, som forbindelsen læser fra loggen.
  7. Vælg Næste.

    Skærmbillede, der viser siden Opret forbindelse i guiden Hent hændelser udfyldt.

  8. Gennemse oversigten på skærmen Gennemse og opret , og vælg derefter Tilføj.

    Skærmbillede, der viser siden Gennemse og opret i guiden Hent hændelser udfyldt.

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

  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.

      Bemærk

      I øjeblikket understøtter Fabric Eventstream kun basisgodkendelse .

    • 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. Det kan f.eks. være:

    • 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 yderligere 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).
    • Database applicationIntent: Bestemmer routingadfærd i SQL Server Always On tilgængelighedsgrupper:
      • ReadWrite: Forbinder til den primære kopi. Brug dette, 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. Den gælder ikke for begivenheder, som forbindelsen læser fra loggen.
  7. Aktivér tilknytning af hændelsesskema.

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

  9. 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.

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

    Skærmbillede, der viser skemaindstillingen for en Azure SQL Database CDC-kilde.

  11. Vælg Tilføjpå siden Gennemse + opret forbindelse .

    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.

  12. 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.

Vis opdateret hændelsesstream

  1. Du kan se kilden til Azure SQL Database (CDC), der er føjet til din eventstream, i redigeringstilstand.

    Skærmbillede af streaming af Azure SQL Database CDC-kilde i redigeringsvisning.

  2. Hvis du vil implementere denne nyligt tilføjede Azure SQL Database CDC-kilde, skal du vælge Publicer. Når du har fuldført disse trin, er din Azure SQL Database CDC-kilde tilgængelig til visualisering i livevisning.

    Skærmbillede af streaming af Azure SQL Database CDC-kilde i livevisning.

Konfigurer eventstream-destinationer til at bruge skemaer

I øjeblikket understøttes kun eventhouse, custom endpoint og afledte stream-destinationer for eventstreams med udvidede funktioner aktiveret. Dette afsnit viser dig, hvordan du tilføjer og konfigurerer en eventhouse-destination, når udvidede funktioner (som schema-understøttelse) er aktiveret for eventstreamen.

Konfigurer et skema til en brugerdefineret endpoint-destination

  1. Vælg Transformér begivenheder eller tilføj destination, og vælg derefter CustomEndpoint.

  2. I panelet Brugerdefineret endpoint skal du angive et navn til destinationen.

  3. Vælg skemaet for hændelser under Inputskema. Du vælger i denne boks, når du aktiverer skema-understøttelse for en eventstream.

Skærmbillede, der viser panelet til konfiguration af et brugerdefineret endpoint.

Du kan finde detaljerede trin til konfiguration af en brugerdefineret slutpunktsdestination under Føj et brugerdefineret slutpunkt eller en brugerdefineret appdestination til en eventstream.

Konfigurere skemaer for en eventhouse-destination

  1. Vælg Transformér begivenheder, eller tilføj destination, og vælg derefter Eventhouse.

  2. Eventhouse-panelet konfigurerer du følgende skema-relaterede indstillinger:

    1. For Input-skema skal du vælge et eller flere skemaer fra rullemenuen.

      Skærmbillede, der viser eventhouse-konfigurationspanelet med et inputskema valgt.

      Bemærk

      Hvis du valgte muligheden Dynamisk skema via headers , når du konfigurerede en Event Hubs-kilde, kunne det være, du havde konfigureret flere skemaer for kilden og kortlagt dem til forskellige egenskaber og deres værdier.

    2. For tabeloprettelsesmetoden vælg En enkelt tabel med alle skemaer kombineret eller separate tabeller for hvert skema, afhængigt af dine krav.

      Skærmbillede, der viser eventhouse-konfigurationspanelet med tabeloprettelsesmetoder.

    3. Vælg en af følgende indstillinger for Skriv data med:

      • Kun nyttelast: Skriv udtrukket nyttelastdata til tabellen. Hvis der er flere inputskemaer, sendes data til flere tabeller.
      • Metadata og nyttedata: Skriv metadata og data til data til en enkelt tabel. Eksempelkolonner inkluderer source , subject, , typeog data.

      Skærmbillede, der viser eventhouse-konfigurationspanelet med muligheder for at skrive data.

For detaljerede trin til at konfigurere en eventhouse-destination, se Tilføj en eventhouse-destination til en eventstream.

Andre connectors: