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 erfahren Sie, wie Sie eine Azure SQL-Datenbank Change Data Capture (CDC)-Quelle zu einem Eventstream hinzufügen können.
Der Azure SQL Database CDC Source Connector für Microsoft Fabric-Eventstreams ermöglicht es Ihnen, einen Snapshot der aktuellen Daten in einer Azure SQL-Datenbank zu erfassen. Künftige Änderungen an diesen Daten auf Zeilenebene werden dann vom Konnektor überwacht und aufgezeichnet. Sobald die Änderungen im Eventstream erfasst sind, können Sie diese CDC-Daten in Echtzeit verarbeiten und an verschiedene Ziele innerhalb von Fabric zur weiteren Verarbeitung oder Analyse senden.
Voraussetzungen
- Zugriff auf einen Arbeitsbereich im Fabric-Kapazitätslizenzmodus (oder) im Testlizenzmodus mit der Berechtigungsstufe „Mitwirkender“ oder höher.
- Ein laufender Azure SQL-Server mit einer Azure SQL-Datenbank.
- Ihre Azure SQL-Datenbank muss öffentlich zugänglich sein und darf sich nicht hinter einer Firewall oder in einem virtuellen Netzwerk befinden.
- Aktiviert CDC in Ihrer Azure SQL-Datenbank durch Ausführen der gespeicherten Prozedur
sys.sp_cdc_enable_db. Weitere Informationen finden Sie unter Aktivieren und Deaktivieren von Change Data Capture. - Wenn Sie keinen Eventstream haben, erstellen Sie einen Eventstream.
Beachten Sie, dass Sie Spiegelung in Ihrer Azure SQL-Datenbank nicht aktivieren dürfen.
Aktivieren von CDC in Ihrer Azure SQL-Datenbank
Navigieren Sie im Azure-Portal zu Ihrer Azure SQL-Datenbank-Instanz und wählen Sie Abfrage-Editor aus. Wählen Sie eine Authentifizierungsmethode aus, um sich einzuloggen.
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
Starten des Assistenten zum Auswählen einer Datenquelle
Wenn Sie Ihrem Eventstream noch keine Quelle hinzugefügt haben, wählen Sie die Kachel "Externe Quelle verwenden " aus.
Wenn Sie die Quelle zu einem bereits veröffentlichten Ereignisstream hinzufügen, wechseln Sie zum Bearbeitungsmodus . Wählen Sie im Menüband " Quelle>externe Quellen hinzufügen" aus.
Suchen Sie auf der Seite Datenquelle auswählen auf der Kachel Azure SQL DB (CDC) nach Verbinden, und wählen Sie Verbinden aus.
Konfigurieren und Verbinden mit Azure SQL Database CDC
Wählen Sie auf der Seite Verbinden die Option Neue Verbindung aus.
Geben Sie im Abschnitt Verbindungseinstellungen die folgenden Werte für Ihre Azure SQL-Datenbank ein:
Server: Geben Sie den Namen des Azure SQL-Servers aus dem Azure-Portal ein. Es befindet sich in dieser Form:
mysqlservername.database.windows.net.Datenbank: 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 die Standardauthentifizierung .
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 erweiterte Einstellungen erweitern, um auf zusätzliche Konfigurationsoptionen für die Azure SQL-Datenbank-CDC-Quelle zuzugreifen:
-
Dezimalbehandlungsmodus: Definiert, wie der Konnektor
DECIMALundNUMERICSpaltenwerte verarbeitet:-
Precise: Stellt Werte mithilfe exakter 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, sondern 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 dies, 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
Wählen Sie Weiter aus.
Überprüfen Sie auf der Anzeige Überprüfen und Erstellen die Zusammenfassung, und wählen Sie dann Hinzufügen aus.
Erfassen von Änderungsdaten aus Azure SQL-Datenbanken mit automatischer Tabellenschemaregistrierung über CDC in Eventstream.
Wählen Sie auf der Seite Verbinden die Option Neue Verbindung aus.
Geben Sie im Abschnitt Verbindungseinstellungen die folgenden Werte für Ihre Azure SQL-Datenbank ein:
Server: Geben Sie den Namen des Azure SQL-Servers aus dem Azure-Portal ein. Es befindet sich in dieser Form:
mysqlservername.database.windows.net.Datenbank: 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 die Standardauthentifizierung .
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 erweiterte Einstellungen erweitern, um auf zusätzliche Konfigurationsoptionen für die Azure SQL-Datenbank-CDC-Quelle zuzugreifen:
-
Dezimalbehandlungsmodus: Definiert, wie der Konnektor
DECIMALundNUMERICSpaltenwerte verarbeitet:-
Precise: Stellt Werte mithilfe exakter 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, sondern 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 dies, 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
Aktivieren Sie die Ereignisschemazuordnung.
Wählen Sie für "Arbeitsbereich" 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 und Verbinden die Option Hinzufügen aus.
Für alle Tabellen oder ausgewählten Tabellen in der Azure SQL-Datenbank erkennt der Connector automatisch und erstellt Schemas und registriert sie in der Schemaregistrierung.
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 erstellte Azure SQL-Datenbankconnector (CDC) erstellt hat.
Die Schemas werden im Schemasatz wie in der folgenden Abbildung dargestellt angezeigt.
Um die JSON-Version des Schemas anzuzeigen, wechseln Sie zur JSON-Schemaansicht .
Ändern Sie diese ermittelten Schemas nicht mit diesem Editor, da sie nicht mit dem Schema der Tabellen in der Azure SQL-Datenbank konform sind.
Anzeigen des aktualisierten Eventstreams
Sie können die Azure SQL-Datenbank (CDC)-Quelle sehen, die Ihrem Eventstream im Bearbeitungsmodus hinzugefügt wurde.
Um diese neu hinzugefügte Azure SQL-Datenbank CDC-Quelle zu implementieren, wählen Sie "Veröffentlichen" aus. Nachdem Sie diese Schritte ausgeführt haben, ist Ihre Azure SQL-Datenbank CDC-Quelle für die Visualisierung in der Liveansicht verfügbar.
Konfigurieren von Eventstream-Zielen für die Verwendung von Schemas
Derzeit werden für Eventstreams mit aktivierten erweiterten Features nur Eventhouse, benutzerdefinierte Endpunkte und abgeleitete Stream-Ziele 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.
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.
Zugehöriger Inhalt
Andere Connectors: