Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel wird gezeigt, wie Sie einem Ereignisstream eine Azure SQL Database CDC-Quelle (Change Data Capture) hinzufügen.
Mit dem Azure SQL-Datenbank-CDC-Quellconnector für Microsoft Fabric-Ereignisströme können Sie eine Momentaufnahme der aktuellen Daten in einer Azure SQL-Datenbank erfassen. Künftige Änderungen an diesen Daten auf Zeilenebene werden dann vom Konnektor überwacht und aufgezeichnet. Sobald die Änderungen im Ereignisstream erfasst wurden, können Sie diese CDC-Daten in Echtzeit verarbeiten und an verschiedene Ziele innerhalb Fabric zur weiteren Verarbeitung oder Analyse senden.
Hinweis
Mit DeltaFlow (Vorschau) können Sie unformatierte Debezium-CDC-Ereignisse in analysefähige Datenströme umwandeln, die Ihre Quelltabellenstruktur spiegeln. DeltaFlow automatisiert schemaregistrierung, Zieltabellenverwaltung und Schemaentwicklungsbehandlung. Um DeltaFlow zu verwenden, wählen Sie während des Schemabehandlungsschritts analysebereite Ereignisse und automatisch aktualisiertes Schema aus.
Voraussetzungen
- Zugriff auf einen Arbeitsbereich im Fabric-Kapazitäts-Lizenzmodus oder im Testlizenzmodus, wenn Mitwirkende- oder höhere Berechtigungen vorliegen.
- Ein ausgeführter Azure SQL Server mit einer Azure SQL Datenbank.
- Ihre Azure SQL-Datenbank sollte öffentlich zugänglich sein und nicht hinter einer Firewall oder in einem virtuellen Netzwerk geschützt sein. Wenn es sich in einem geschützten Netzwerk befindet, stellen Sie mithilfe der Eventstream Connector virtual network Injection eine Verbindung mit ihr her.
- CDC in Ihrer Azure SQL-Datenbank aktivieren, indem Sie die gespeicherte Prozedur
sys.sp_cdc_enable_dbausführen. Weitere Informationen finden Sie unter Aktivieren und Deaktivieren von Change Data Capture.
Hinweis
Aktivieren Sie die Spiegelung in Ihrer Azure SQL-Datenbank nicht.
Aktivieren von CDC in Ihrem Azure SQL Database
Wechseln Sie zum Azure-Portal, öffnen Sie Ihre Azure SQL-Datenbank, und wählen Sie Query-Editor aus. Wählen Sie eine Authentifizierungsmethode für die Anmeldung aus.
Führen Sie die folgenden SQL-Befehle aus, um CDC in Ihrer Datenbank zu aktivieren:
-- 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
- Wenn Sie keinen Eventstream haben, erstellen Sie einen Eventstream.
Assistent zum Auswählen einer Datenquelle starten
Wenn Sie Ihrem Eventstream noch keine Quelle hinzugefügt haben, wählen Sie die Kachel "Datenquellen verbinden" aus . Sie können auch Quelle hinzufügen>Datenquellen verbinden im Menüband auswählen.
Wenn Sie die Quelle zu einem bereits veröffentlichten Ereignisstream hinzufügen, wechseln Sie zum Bearbeitungsmodus . Wählen Sie im Menüband "Quelle hinzufügen; Datenquellen verbinden" aus.
Suchen Sie auf der Seite Auswahl einer Datenquelle nach Connect und wählen Sie es auf der Kachel Azure SQL DB (CDC) aus.
Konfigurieren und Herstellen einer Verbindung mit Azure SQL Database CDC
Erfassen von Änderungsdaten aus Azure SQL Datenbanken mit automatischer Tabellenschemaregistrierung über CDC in Eventstream.
Hinweis
DeltaFlow (Vorschau):Wenn Sie Analysefähige Ereignisse und automatisch aktualisiertes Schema im Schemabehandlungsschritt auswählen, transformiert DeltaFlow rohe Debezium CDC-Ereignisse in analysefähige Datenströme, die Ihre Quelltabellenstruktur spiegeln. DeltaFlow automatisiert auch die Erstellung von Zieltabellen und die Behandlung der Schemaentwicklung.
Wählen Sie auf der Seite Verbinden die Option Neue Verbindung aus.
Geben Sie im Abschnitt Verbinden die folgenden Werte für Ihre Azure SQL-Datenbank ein:
Server: Geben Sie den Azure SQL Servernamen aus dem Azure Portal ein. Es befindet sich in dieser Form:
mysqlservername.database.windows.net.Database: Geben Sie den Azure SQL Datenbanknamen aus dem Azure Portal ein.
Scrollen Sie nach unten und gehen Sie im Abschnitt Anmeldedaten für die Verbindung folgendermaßen vor:
Geben Sie für Verbindungsname einen Namen für die Verbindung ein.
Wählen Sie für Authentifizierungsart die Option Standard aus.
Hinweis
Derzeit unterstützt Fabric Eventstream nur BasicAuthentifizierung.
Geben Sie den Benutzernamen und das Kennwort für die Datenbank ein.
Wählen Sie Verbinden.
Wählen Sie nun auf der Seite "Verbinden " die Option "Alle Tabellen" aus, oder geben Sie tabellennamen ein. Wenn Sie letzteres auswählen, geben Sie Tabellen mithilfe einer durch Trennzeichen getrennten Liste mit vollständigen Tabellenbezeichnern (
schemaName.tableName) oder gültigen regulären Ausdrücken an. Beispiel:- Verwenden Sie
dbo.test.*, um alle Tabellen auszuwählen, deren Namen mitdbo.testbeginnen. - Verwenden Sie
dbo\.(test1|test2), umdbo.test1unddbo.test2auszuwählen.
Sie können beide Formate mithilfe von Kommas mischen. Die Gesamtzeichenbeschränkung für den gesamten Eintrag beträgt 102.400 Zeichen.
- Verwenden Sie
Sie können Advanced-Einstellungen erweitern, um auf weitere Konfigurationsoptionen für die Azure SQL Database CDC-Quelle zuzugreifen:
-
Dezimalbehandlungsmodus: Definiert, wie der Konnektor
DECIMALundNUMERICSpaltenwerte verarbeitet:-
Precise: Stellt Werte mit exakten Dezimaltypen dar (z. B. JavaBigDecimal), um die volle Genauigkeit und Genauigkeit in der Datendarstellung sicherzustellen. -
Double: Wandelt Werte in Gleitkommazahlen mit doppelter Genauigkeit um. Diese Einstellung verbessert die Benutzerfreundlichkeit und Leistung, kann aber zu einem Genauigkeitsverlust führen. -
String: Codiert Werte als formatierte Zeichenfolgen. Diese Einstellung erleichtert die Nutzung in nachgeschalteten Systemen, verliert jedoch semantische Informationen über den ursprünglichen numerischen Typ.
-
-
Momentaufnahmemodus: Geben Sie die Kriterien für das Ausführen einer Momentaufnahme an, wenn der Connector gestartet wird:
-
Initial: Der Connector führt eine Momentaufnahme nur aus, wenn keine Offsets für den logischen Servernamen aufgezeichnet wurden oder wenn erkannt wird, dass eine frühere Momentaufnahme nicht abgeschlossen werden konnte. Nach Abschluss der Momentaufnahme beginnt der Connector, Ereignisdatensätze für nachfolgende Datenbankänderungen zu streamen. -
InitialOnly: Der Connector führt eine Momentaufnahme nur aus, wenn für den logischen Servernamen keine Offsets aufgezeichnet wurden. Nach Abschluss der Momentaufnahme stoppt der Verbinder. Es wechselt nicht zum Streaming, um Änderungsereignisse aus dem Binlog zu lesen. -
NoData: Der Connector führt eine Momentaufnahme aus, die nur das Schema, aber keine Tabellendaten erfasst. Legen Sie diese Option fest, wenn Sie keine konsistente Momentaufnahme der Daten benötigen, aber sie benötigen nur die Änderungen, die seit dem Start des Connectors vorgenommen werden.
-
- Liste "Spalten ausschließen": Gibt Spalten an, die von Änderungsereigniswerten mit vollqualifizierten Namen (schemaName.tableName.columnName) ausgeschlossen werden sollen.
-
Database applicationIntent: Bestimmt das Routingverhalten in SQL Server AlwaysOn-Verfügbarkeitsgruppen:
-
ReadWrite: Stellt eine Verbindung mit dem primären Replikat her. Verwenden Sie diese Option, wenn die Verbindung Lese- und Schreibvorgänge ausführen muss. -
ReadOnly: Ermöglicht das Routing an ein lesbares sekundäres Replikat für schreibgeschützte Vorgänge. Verwenden Sie es, um CDC direkt auf Replikaten zu aktivieren. Es ist erforderlich, "snapshot.isolation.mode" auf "snapshot" festzulegen, da dies der einzige Transaktionsisolationsmodus ist, der für lesende Replikate unterstützt wird.
-
- Snapshot-Abfrageanweisung überschreiben: Verwenden Sie die Eigenschaft, wenn Sie möchten, dass ein Snapshot nur einen Teil der Zeilen in einer Tabelle enthält. Diese Eigenschaft wirkt sich nur auf Momentaufnahmen aus. Sie gilt nicht für Ereignisse, die der Connector aus dem Protokoll liest.
-
Dezimalbehandlungsmodus: Definiert, wie der Konnektor
Stream- oder Quelldetails
Führen Sie auf der Seite "Verbinden " einen dieser Schritte aus, je nachdem, ob Sie Eventstream oder Real-Time Hub verwenden.
Eventstream:
Führen Sie im Bereich " Quelldetails " rechts die folgenden Schritte aus:
Um den Quellnamen zu ändern, wählen Sie das Stiftsymbol aus.
Beachten Sie, dass der Eventstream-Name und der Stream-Name schreibgeschützt sind.
Real-Time Hub:
Führen Sie im Abschnitt Datenstromdetails die folgenden Schritte aus:
Wählen Sie den arbeitsbereich Fabric aus, in dem Sie den Ereignisstream erstellen möchten.
Wählen Sie für den Eventstream-Namen die Stiftschaltfläche aus, und geben Sie einen Namen für den Eventstream ein.
Der Wert für den Stream-Namen wird automatisch generiert, indem "-stream " an den Namen des Ereignisstreams angefügt wird. Dieser Datenstrom wird auf der Seite "Alle Datenströme" des Echtzeithubs angezeigt, wenn der Assistent beendet wird.
Wählen Sie unten auf der Seite "Konfigurieren" die Option "Weiter" aus.
Überprüfen und Verbinden
Überprüfen Sie auf dem Bildschirm "Überprüfen + Verbinden " die Zusammenfassung, und wählen Sie "Hinzufügen " (Eventstream) oder "Verbinden " (Real-Time Hub) aus.
Schemabehandlungsseite
Wählen Sie auf der Seite " Schemabehandlung " eine der folgenden Optionen aus:
- Analysefähige Ereignisse und automatisch aktualisiertes Schema (DeltaFlow Preview): Der Connector wandelt unformatierte CDC-Ereignisse in analysefähige Datenströme um, die Ihre Quelltabellenstruktur spiegeln. DeltaFlow erweitert Ereignisse mit Metadaten wie Änderungstyp (Einfügen, Aktualisieren oder Löschen) und Zeitstempeln und verwaltet automatisch Zieltabellen und Schemaentwicklung.
- Roh-CDC-Ereignisse: Der Connector importiert und stellt die Roh-CDC-Ereignisse zur Verfügung. Optional kann der Connector Tabellenschemas automatisch bestimmen und in der Schemaregistrierung registrieren. Verwenden Sie diese Option, wenn Sie die Schemasensibilisierung ohne DeltaFlow-Transformation wünschen.
Hinweis
Der folgende Screenshot zeigt Azure SQL Database CDC. Die Schemabehandlungsoptionen sind für alle unterstützten CDC-Quellconnectors identisch.
Aktivieren Sie die Ereignisschemazuordnung.
Wählen Sie für Workspace einen Fabric Arbeitsbereich für den Schemasatz aus.
Bei Schemasatz ist +Erstellen standardmäßig ausgewählt, wodurch ein neuer Schemasatz erstellt wird. Sie können ihn ändern, um einen vorhandenen Ereignisschemasatz auszuwählen.
Wenn Sie im vorherigen Schritt die Option +Erstellen ausgewählt haben, geben Sie einen Namen für den Schemasatz ein.
Wählen Sie auf der Seite "Überprüfen + Verbinden " die Option "Hinzufügen " (Eventstream) oder "Verbinden " (Real-Time Hub) aus.
Für alle Tabellen oder ausgewählten Tabellen in der Azure SQL-Datenbank entdeckt der Connector automatisch die Schemata, erstellt sie und registriert sie im Schemaregister.
Wählen Sie den Eventstream-Knoten in der Mitte aus, und wechseln Sie im unteren Bereich zur Registerkarte " Zugeordnete Schemas ".
Schemasatz
Navigieren Sie zum Arbeitsbereich, den Sie im vorherigen Schritt ausgewählt haben. Im folgenden Beispiel ist es "Mein Arbeitsbereich".
Wählen Sie den Schemasatz aus, den der Azure SQL Database (CDC)-Connector erstellt hat.
Die Schemas im Schemasatz werden wie in der folgenden Abbildung angezeigt.
Um die JSON-Version des Schemas anzuzeigen, wechseln Sie zur JSON-Schemaansicht .
Ändern Sie diese ermittelten Schemas nicht mithilfe dieses Editors, da sie sonst nicht mehr mit dem Schema der Tabellen in der Quelle der Azure SQL-Datenbank übereinstimmen.
DeltaFlow: Analysebereite Ereignistransformation (Vorschau)
Wenn Sie Analysefähige Ereignisse und automatisch aktualisiertes Schema (DeltaFlow) aktivieren, bietet der Connector die folgenden Funktionen:
Für Analysen geeignete Ereignisstruktur: Rohe Debezium CDC-Ereignisse werden in ein tabellarisches Format umgewandelt, das die Struktur der Quelltabelle widerspiegelt. Ereignisse werden mit Metadatenspalten erweitert, einschließlich des Änderungstyps (
insert,updateoderdelete) und des Ereigniszeitstempels.Automatische Verwaltung der Zieltabelle: Wenn Sie DeltaFlow-fähige Datenströme an ein unterstütztes Ziel wie ein Eventhouse weiterleiten, werden Zieltabellen automatisch erstellt, um dem Quelltabellenschema zu entsprechen. Sie müssen keine Zieltabellen manuell erstellen oder konfigurieren.
Schemaentwicklungsbehandlung: Wenn sich Quelldatenbanktabellen ändern (z. B. werden neue Spalten hinzugefügt oder Tabellen erstellt), erkennt DeltaFlow automatisch die Änderungen, aktualisiert die registrierten Schemas und passt die Zieltabellen entsprechend an. Diese Option minimiert den manuellen Eingriff durch Schemaänderungen.
Hinweis
DeltaFlow (Vorschau) wird derzeit mit den Quell-Connectoren Azure SQL Database CDC, Azure SQL Managed Instance CDC, SQL Server auf VM CDC und PostgreSQL CDC unterstützt.
Ausführliche Informationen dazu, wie DeltaFlow rohe CDC-Ereignisse in analysebereite Ausgaben transformiert, einschließlich Vorgangstypen und Metadatenspalten, finden Sie unter DeltaFlow-Ausgabetransformation.
Anzeigen des aktualisierten Eventstreams
Sie können die Azure SQL Database(CDC)-Quelle, die Ihrem Eventstream hinzugefügt wurde, im Edit-Modus anzeigen.
Um diese neu hinzugefügte Azure SQL Database CDC-Quelle zu implementieren, wählen Sie Publish aus. Nachdem Sie diese Schritte ausgeführt haben, steht Ihre Azure SQL Database CDC-Quelle für die Visualisierung in der Live-Ansicht zur Verfügung.
Konfigurieren von Eventstream-Zielen für die Verwendung von Schemas
Derzeit werden nur die Eventhouse-, benutzerdefinierten endpunkt- und abgeleiteten Datenstromziele für Eventstreams mit zugeordneten Schemas unterstützt. In diesem Abschnitt wird gezeigt, wie Sie ein Eventhouse-Ziel hinzufügen und konfigurieren, wenn erweiterte Features (z. B. die Schemaunterstützung) für den Eventstream aktiviert sind.
Hinweis
Wenn Sie DeltaFlow (Vorschau) mit einer unterstützten CDC-Quelle (Change Data Capture) verwenden, werden Zieltabellen im Eventhouse automatisch erstellt und verwaltet, um der Quelltabellenstruktur zu entsprechen. Sie müssen das Zieltabellenschema nicht manuell konfigurieren. DeltaFlow behandelt auch die Schemaentwicklung automatisch, wenn sich Quelltabellen ändern.
Konfigurieren eines Schemas für ein benutzerdefiniertes Endpunktziel
Wählen Sie Transformationsereignisse aus, oder fügen Sie das Ziel hinzu, und wählen Sie dann "CustomEndpoint" aus.
Geben Sie im Bereich "Benutzerdefinierter Endpunkt " einen Namen für das Ziel an.
Wählen Sie für das Eingabeschema das Schema für Ereignisse aus. Sie treffen eine Auswahl in diesem Feld, wenn Sie die Schemaunterstützung für einen Eventstream aktivieren.
Ausführliche Schritte zum Konfigurieren eines benutzerdefinierten Endpunktziels finden Sie unter Hinzufügen eines benutzerdefinierten Endpunkts oder benutzerdefinierten App-Ziels zu einem Eventstream.
Konfigurieren von Schemas für ein Eventhouse-Ziel
Wählen Sie Transformationsereignisse aus, oder fügen Sie das Ziel hinzu, und wählen Sie dann Eventhouse aus.
Konfigurieren Sie im Eventhouse-Bereich die folgenden schemabezogenen Einstellungen:
Wählen Sie für das Eingabeschema ein oder mehrere Schemas aus der Dropdownliste aus.
Hinweis
Wenn Sie das dynamische Schema über die Headeroption beim Konfigurieren einer Event Hubs-Quelle ausgewählt haben, haben Sie möglicherweise mehrere Schemas für die Quelle konfiguriert und sie verschiedenen Eigenschaften und deren Werten zugeordnet.
Wählen Sie für die Tabellenerstellungsmethode entweder eine einzelne Tabelle, in der alle Schemata kombiniert werden, oder separate Tabellen für jedes einzelne Schema aus, je nach Ihren Anforderungen.
Wählen Sie für Write data with eine der folgenden Optionen aus:
- Nur Nutzlast: Schreiben extrahierter Nutzlastdaten in die Tabelle. Wenn mehrere Eingabeschemas vorhanden sind, werden Daten an mehrere Tabellen gesendet.
-
Metadaten und Nutzlast: Schreiben von Metadaten und Nutzlastdaten in eine einzelne Tabelle. Beispielspalten umfassen
source, ,subject,typeunddata.
Ausführliche Schritte zum Konfigurieren eines Eventhouse-Ziels finden Sie unter Hinzufügen eines Eventhouse-Ziels zu einem Eventstream.
Anzeigen der ausgabebereiten DeltaFlow-Analyse (Vorschau)
Wenn Sie Analytics-ready-Ereignisse und ein automatisch aktualisiertes Schema (DeltaFlow) aktiviert haben, werden die Zieltabellen automatisch in einer Form erstellt, die die Quelldatenbanktabellen widerspiegelt. Jede Tabelle enthält die ursprünglichen Spalten zusammen mit Metadatenspalten für den Änderungstyp und den Zeitstempel.
Sie können diese Tabellen mithilfe von Kusto Query Language (KQL) oder anderen Analysetools abfragen, ohne rohe Debezium CDC-Nutzlasten analysieren zu müssen.
::: zone-end
Zugehöriger Inhalt
Weitere Anschlüsse sind: