SQL Server auf VM DB (CDC)-Quelle zu einem Eventstream hinzufügen

In diesem Artikel erfahren Sie, wie Sie eine SQL Server DB Change Data Capture (CDC)-Quelle auf einer VM in einen Eventstream integrieren.

Mit dem Quellconnector für Fabric-Ereignisdatenströme, der den SQL Server auf VM (CDC) unterstützt, können Sie eine Momentaufnahme der aktuellen Daten in einer SQL Server-Datenbank auf einem virtuellen Computer erfassen. Derzeit wird SQL Server auf VM DB (CDC) von den folgenden Diensten unterstützt, in denen öffentlich auf die Datenbanken zugegriffen werden kann:

Hinweis

Amazon Web Services (AWS) RDS SQL Server, AWS RDS Custom SQL Server und Google Cloud SQL SQL Server unterstützen die Express-Version nicht. Stellen Sie sicher, dass Sie eine entsprechende Edition von SQL Server für CDC verwenden.

Sobald die SQL Server auf der VM DB (CDC)-Quelle zum Ereignisstream hinzugefügt wurde, überwacht und zeichnet sie zukünftige Änderungen auf Zeilenebene auf, die dann in Echtzeit verarbeitet und an verschiedene Ziele zur weiteren Analyse gesendet werden können.

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ätslizenzmodus oder im Testlizenzmodus mit Mitwirkendenrechten oder höheren Berechtigungen.
  • Ein laufender SQL Server auf einer VM.
  • Ihre SQL Server-Datenbank auf der VM muss so konfiguriert sein, dass sie öffentlichen Zugriff erlaubt. Wenn es sich in einem geschützten Netzwerk befindet, stellen Sie mithilfe der Eventstream Connector virtual network Injection eine Verbindung mit ihr her.
  • Aktivieren Sie CDC in Ihrer SQL Server-Datenbank auf der VM, indem Sie die gespeicherte Prozedur sys.sp_cdc_enable_db ausführen. Weitere Informationen finden Sie unter Aktivieren und Deaktivieren von Change Data Capture.

Aktivieren Sie CDC auf Ihrem SQL Server auf einer VM

  1. Aktivieren Sie CDC für die Datenbank.

    EXEC sys.sp_cdc_enable_db; 
    
  2. Aktivieren Sie CDC für eine Tabelle mithilfe einer Gating-Rollenoption. In diesem Beispiel MyTable ist der Name der SQL-Tabelle.

    EXEC sys.sp_cdc_enable_table 
       @source_schema = N'dbo', 
       @source_name   = N'MyTable', 
       @role_name     = NULL 
    GO 
    

    Nachdem die Abfrage erfolgreich ausgeführt wurde, haben Sie CDC auf Ihrem SQL Server in der VM-Datenbank aktiviert.

    Ein Screenshot, der zeigt, dass CDC aktiviert ist.

Hinzufügen von SQL Server in der VM-Datenbank als Quelle

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.

Screenshot, der die Auswahl der Kachel für die Verwendung einer externen Quelle zeigt.

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.

Screenshot der Auswahl zum Hinzufügen externer Quellen.

Suchen Sie auf der Seite Auswahl einer Datenquelle nach Verbinden auf der SQL Server auf vm DB (CDC) Kachel.

Konfigurieren und Herstellen einer Verbindung mit SQL Server in der VM-Datenbank

Erfassen Sie Änderungsdaten aus SQL Server in VM-Datenbanken mit automatischer Registrierung des Tabellenschemas ü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.

  1. Wählen Sie auf der Seite Verbinden die Option Neue Verbindung aus.

    Screenshot, der die Auswahl des Links Neue Verbindung auf der Seite Verbinden zeigt.

  2. Geben Sie im Abschnitt Verbindungseinstellungen die folgenden Werte für Ihren SQL Server in einer virtuellen Maschine ein:

    • Server: Geben Sie die IP-Adresse oder den Domänennamen Ihrer VM ein, und fügen Sie dann einen Doppelpunkt und den Port hinzu. Wenn Ihre IP-Adresse xx.xxx.xxx.xxx und der Port 1433 ist, sollten Sie xx.xxx.xxx.xxx:1433 im Feld Server eingeben. Wenn der Port nicht angegeben ist, wird der Standardportwert 1433 verwendet.

    • Database: Geben Sie den Namen der Datenbank ein, mit der Sie auf dem virtuellen SQL Server Computer eine Verbindung herstellen möchten.

      Screenshot, der den Verbindungseinstellungen-Bereich der Connect-Seite zeigt.

  3. 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 Benutzername und Password für den SQL Server auf dem virtuellen Computer ein.

      Hinweis

      Wählen Sie die Option nicht aus: Verschlüsselte Verbindungverwenden.

      Screenshot des Abschnitts

  4. Wählen Sie am unteren Rand der Seite die Option Verbinden aus.

  5. 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 mit dbo.test beginnen.
    • Verwenden Sie dbo\.(test1|test2), um dbo.test1 und dbo.test2 auszuwählen.

    Sie können beide Formate mithilfe von Kommas mischen. Die Gesamtzeichenbeschränkung für den gesamten Eintrag beträgt 102.400 Zeichen.

  6. Sie können den Abschnitt Erweiterte Einstellungen erweitern, um den Dezimalbehandlungsmodus zu konfigurieren, der angibt, wie der Konnektor DECIMAL- und NUMERIC-Spaltenwerte verarbeitet.

    • Precise: Stellt Werte mit exakten Dezimaltypen dar (z. B. Java BigDecimal), 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.

Stream- oder Quelldetails

  1. 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:

      1. Um den Quellnamen zu ändern, wählen Sie das Stiftsymbol aus.

      2. 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:

      1. Wählen Sie den arbeitsbereich Fabric aus, in dem Sie den Ereignisstream erstellen möchten.

      2. Wählen Sie für den Eventstream-Namen die Stiftschaltfläche aus, und geben Sie einen Namen für den Eventstream ein.

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

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

  1. Wählen Sie im Schemabehandlungsschritt 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.

    Screenshot des Schemabehandlungsschritts mit DeltaFlow- und Raw CDC-Ereignisoptionen für einen CDC-Quellconnector.

  2. Aktivieren Sie die Ereignisschemazuordnung.

  3. Wählen Sie für Workspace einen Fabric Arbeitsbereich für den Schemasatz aus.

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

  5. Wenn Sie im vorherigen Schritt die Option +Erstellen ausgewählt haben, geben Sie einen Namen für den Schemasatz ein.

  6. Überprüfen Sie auf dem Bildschirm "Überprüfen + Erstellen " die Zusammenfassung, und wählen Sie "Hinzufügen " (Eventstream) oder "Verbinden " (Real-Time Hub) aus.

    Screenshot: Auswahl der Schaltfläche „Hinzufügen“.

    Für alle Tabellen oder ausgewählten Tabellen in der SQL Server-Datenbank auf der VM erkennt der Connector automatisch und erstellt Schemas, die dann bei der Schemaregistrierung registriert werden.

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, updateoder delete) 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. Dieses Feature minimiert den manuellen Eingriff durch Schemaänderungen.

Hinweis

DeltaFlow (Vorschau) wird derzeit mit Azure SQL Database CDC, Azure SQL Managed Instance CDC, SQL Server auf VM CDC und PostgreSQL CDC-Quell-Connectoren 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

Im Editmodus können Sie die SQL Server-Quelldaten von der VM DB CDC zu Ihrem Eventstream hinzugefügt sehen.

Ein Screenshot des hinzugefügten SQL Servers als VM DB CDC-Quelle im Bearbeitungsmodus mit erweiterten Funktionen.

Wählen Sie Publish aus, um den neu hinzugefügten SQL Server als VM-DB-CDC-Quelle zu implementieren. Nachdem Sie diese Schritte ausgeführt haben, steht Ihre SQL Server auf der VM DB CDC-Quelle für die Visualisierung in der Live-Ansicht zur Verfügung.

A screenshot der hinzugefügten SQL Server auf der VM DB CDC-Quelle im Live-Ansichtsmodus mit erweiterten Features.

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

  1. Wählen Sie Transformationsereignisse aus, oder fügen Sie das Ziel hinzu, und wählen Sie dann "CustomEndpoint" aus.

  2. Geben Sie im Bereich "Benutzerdefinierter Endpunkt " einen Namen für das Ziel an.

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

Screenshot des Bereichs zum Konfigurieren eines benutzerdefinierten Endpunkts.

Ausführliche Schritte zum Konfigurieren eines benutzerdefinierten Endpunktziels finden Sie unter Hinzufügen eines benutzerdefinierten Endpunkts oder benutzerdefinierten App-Ziels zu einem Eventstream.

Schemas für ein Eventhouse-Ziel konfigurieren

  1. Wählen Sie Transformationsereignisse aus, oder fügen Sie das Ziel hinzu, und wählen Sie dann Eventhouse aus.

  2. Konfigurieren Sie im Eventhouse-Bereich die folgenden schemabezogenen Einstellungen:

    1. Wählen Sie für das Eingabeschema ein oder mehrere Schemas aus der Dropdownliste aus.

      Screenshot des Ereignishauskonfigurationsbereichs mit ausgewähltem Eingabeschema.

      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.

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

      Screenshot des Ereignishaus-Konfigurationsbereichs mit Tabellenerstellungsmethoden.

    3. 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, typeund data.

      Screenshot des Ereignishauskonfigurationsbereichs mit den Optionen zum Schreiben von Daten.

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.

Hinweis

Der folgende Screenshot zeigt Azure SQL Database CDC. Die Ausgabe der DeltaFlow-Zieltabelle ist für alle unterstützten CDC-Quell-Connectors identisch.

Screenshot der Eventhouse-Zieltabellen, die von DeltaFlow in analysebereiter Form erstellt wurden.

Sie können diese Tabellen mithilfe von Kusto Query Language (KQL) oder anderen Analysetools abfragen, ohne rohe Debezium CDC-Nutzlasten analysieren zu müssen.

Andere Konnektoren: