Bemærk
Adgang til denne side kræver godkendelse. Du kan prøve at logge på eller ændre mapper.
Adgang til denne side kræver godkendelse. Du kan prøve at ændre mapper.
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
Gå til Azure-portal, åbn din Azure SQL-database, og vælg Forespørgselseditor. Vælg en godkendelsesmetode, der skal logges på.
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.
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.
På siden Vælg en datakilde skal du søge efter og vælge Opret forbindelse i feltet Azure SQL DB (CDC).
Konfigurer og opret forbindelse til Azure SQL Database CDC
Vælg Ny forbindelse på siden Opret forbindelse.
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.
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.
Vælg Opret forbindelse.
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 meddbo.test. - Brug
dbo\.(test1|test2)til at vælgedbo.test1ogdbo.test2.
Du kan blande begge formater ved hjælp af kommaer. Den samlede tegngrænse for hele posten er 102.400 tegn.
- Brug
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
DECIMALogNUMERICkolonneværdier:-
Precise: Repræsenterer værdier ved hjælp af præcise decimaltyper (f.eks. JavaBigDecimal) 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.
-
Decimalhåndteringstilstand: Definerer, hvordan forbindelsen håndterer
Vælg Næste.
Gennemse oversigten på skærmen Gennemse og opret , og vælg derefter Tilføj.
Indtag ændringsdata fra Azure SQL-databaser med automatisk registrering af tabelskema via CDC til Eventstream.
Vælg Ny forbindelse på siden Opret forbindelse.
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.
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.
Vælg Opret forbindelse.
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 meddbo.test. - Brug
dbo\.(test1|test2)til at vælgedbo.test1ogdbo.test2.
Du kan blande begge formater ved hjælp af kommaer. Den samlede tegngrænse for hele posten er 102.400 tegn.
- Brug
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
DECIMALogNUMERICkolonneværdier:-
Precise: Repræsenterer værdier ved hjælp af præcise decimaltyper (f.eks. JavaBigDecimal) 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.
-
Decimalhåndteringstilstand: Definerer, hvordan forbindelsen håndterer
Aktivér tilknytning af hændelsesskema.
For Arbejdsområde skal du vælge et strukturarbejdsområde for skemasættet.
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.
Hvis du har valgt indstillingen + Opret i forrige trin, skal du angive et navn til skemasættet.
Vælg Tilføjpå siden Gennemse + opret forbindelse .
For alle tabeller eller valgte tabeller i Azure SQL-databasen registrerer og opretter connectoren automatisk skemaer og registrerer dem i skemaregistreringsdatabasen.
Vælg eventstream-noden i midten, og skift til fanen Tilknyttede skemaer i den nederste rude.
Skema sæt
Gå til det arbejdsområde, du valgte i forrige trin. I følgende eksempel er det Mit arbejdsområde.
Vælg det skemasæt, som CDC-connectoren (Azure SQL Database) har oprettet.
Du kan se skemaerne i skemasættet som vist på følgende billede.
Hvis du vil se JSON-versionen af skemaet, skal du skifte til 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
Du kan se kilden til Azure SQL Database (CDC), der er føjet til din eventstream, i redigeringstilstand.
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.
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
Vælg Transformér begivenheder eller tilføj destination, og vælg derefter CustomEndpoint.
I panelet Brugerdefineret endpoint skal du angive et navn til destinationen.
Vælg skemaet for hændelser under Inputskema. Du vælger i denne boks, når du aktiverer skema-understøttelse for en eventstream.
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
Vælg Transformér begivenheder, eller tilføj destination, og vælg derefter Eventhouse.
På Eventhouse-panelet konfigurerer du følgende skema-relaterede indstillinger:
For Input-skema skal du vælge et eller flere skemaer fra rullemenuen.
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.
For tabeloprettelsesmetoden vælg En enkelt tabel med alle skemaer kombineret eller separate tabeller for hvert skema, afhængigt af dine krav.
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, ,typeogdata.
For detaljerede trin til at konfigurere en eventhouse-destination, se Tilføj en eventhouse-destination til en eventstream.
Relateret indhold
Andre connectors: