Allgemeine Informationen zu Openflow Connector for SQL Server

Unter diesem Thema werden die grundlegenden Konzepte, der Workflow und die Einschränkungen des Openflow Connector for SQL Server beschrieben.

Verwenden Sie den Openflow Connector for SQL Server, um mehrere SQL-Server-Datenbanken in einer einzelnen SQL-Serverinstanz mit einer Snowflake-Datenbank und replizieren Daten nahezu in Echtzeit oder nach einem festgelegten Zeitplan zu verbinden.

Der Konnektor führt die CDC-Replikation von Microsoft SQL Server-Daten mit Snowflake für eine umfassende, zentrale Berichterstattung aus.

Workflow

Der folgende Workflow beschreibt die Schritte zur Einrichtung und Ausführung des Openflow Connector for SQL Server:

  1. Ein SQL-Server Datenbankadministrator führt die folgenden Aufgaben aus:

    1. Konfiguriert die Einstellungen für die SQL-Serverreplikation und aktiviert die Änderungsverfolgung für die zu replizierenden Datenbanken und Tabellen.

    2. Erzeugt Anmeldeinformationen für den Konnektor.

    3. (Optional) Stellt das SSL-Zertifikat bereit, um eine Verbindung zur SQL-Serverinstanz über SSL herzustellen.

  2. Ein Snowflake-Kontoadministrator führt folgende Aufgaben aus:

    1. Erstellt einen Servicebenutzer für den Konnektor, eine Zieldatenbank zum Speichern replizierter Daten und ein Warehouse für den Konnektor.

    2. Installiert den Konnektor.

    3. Gibt die erforderlichen Parameter für die Definition des Konnektorablaufs an.

    4. Führt den Flow aus.

Wenn der Konnektor in Openflow ausgeführt wird, verhält er sich wie folgt:

  1. Erstellt die Schemas und Zieltabellen, die mit den für die Replikation konfigurierten Quelltabellen übereinstimmen.

  2. Beginnt die Replikation gemäß dem Lebenszyklus der Tabellenreplikation.

    Weitere Informationen dazu finden Sie unter Replizieren von Tabellen.

Replizieren von Daten aus Tabellen in mehreren SQL-Serverdatenbanken

Der Konnektor unterstützt das Replizieren von Tabellen aus mehreren SQL-Serverdatenbanken in einer einzigen SQL-Serverinstanz. Der Konnektor erstellt replizierte Tabellen aus verschiedenen Datenbanken in separaten Schemas innerhalb der Snowflake-Zieldatenbank.

Referenziert replizierte Tabellen, indem der Name der Quelldatenbank, der Name des Quellschemas und der Tabellennamen im folgenden Format kombiniert werden:

<database_name>.<schema_name>.<table_name>

Für jedes Schema in jeder zu replizierenden Quelldatenbank erstellt der Konnektor ein separates Schema in der Snowflake-Zieldatenbank. Der Name des Zielschemas ist eine Kombination aus dem Namen der Quelldatenbank und dem Namen des Quellschemas, getrennt durch einen Unterstrich (_), wie im folgenden Beispiel gezeigt:

<source_database_name>_<source_schema_name>

Der Konnektor erstellt im Zielschema Tabellen mit demselben Namen wie der Name der Quelltabelle, wie im folgenden Beispiel gezeigt:

<destination_database>_<destination_schema_name>.<source_table_name>

Replizieren von Tabellen

Der Konnektor repliziert Tabellen in den folgenden Phasen:

  1. Schema-Introspektion: Der Konnektor erkennt die Spalten in der Quelltabelle, einschließlich der Namen und Typen der Spalten, und validiert sie dann anhand der Beschränkungen von Snowflake und des Konnektors. Wenn die Validierung fehlschlägt, schlägt diese Phase fehl, und der Zyklus ist abgeschlossen. Nach erfolgreichem Abschluss dieser Phase erstellt der Konnektor eine leere Zieltabelle.

  2. Laden von Snapshots: Der Konnektor kopiert alle in der Quelltabelle verfügbaren Daten in die Zieltabelle. Wenn diese Phase fehlschlägt, beendet der Konnektor die Replikation der Daten. Nach erfolgreichem Abschluss sind die Daten aus der Quelltabelle in der Zieltabelle verfügbar.

  3. Inkrementelles Laden: Der Konnektor verfolgt Änderungen in der Quelltabelle und wendet diese Änderungen auf die Zieltabelle an. Dieser Vorgang wird fortgesetzt, bis die Tabelle aus der Replikation entfernt wird. Bei einem Fehler in diesem Schritt wird die Replikation der Quelltabelle dauerhaft gestoppt, bis das Problem behoben ist.

    Informationen zum Umgehen des Snapshot-Ladens und zur Verwendung des inkrementellen Ladeprozesses finden Sie unter Inkrementelle Replikation.

Bemerkung

Zwischenzeitliche Fehler, wie z. B. Verbindungsfehler, verhindern nicht, dass Tabellen repliziert werden. Permanente Fehler, z. B. nicht unterstützte Datentypen, verhindern jedoch die Replikation von Tabellen. Wenn ein permanenter Fehler die Replikation der Tabelle verhindert, entfernen Sie die Tabelle aus der Liste der zu replizierenden Tabellen. Nachdem Sie das Problem behoben haben, das den Fehler verursacht hat, können Sie die Tabelle wieder zur Liste der replizierten Tabellen hinzufügen.

Unterstützte SQL-Server-Versionen

In der folgenden Tabelle finden Sie die getesteten und offiziell unterstützten SQL-Server-Versionen:

Plattform

Dienst/Version

Edition/Stufe

Unterstützt

Lokal

Microsoft SQL Server 2022

Developer, Enterprise, Standard

✔ unterstützt

Microsoft SQL Server 2019

Developer, Enterprise, Standard

✔ unterstützt

Microsoft SQL Server 2017

Developer, Enterprise, Standard

✔ unterstützt

Microsoft SQL Server 2016

Developer, Enterprise, Standard

✔ unterstützt

Microsoft SQL Server 2014

Alle

Nicht getestet

Microsoft SQL Server 2012

Alle

Nicht getestet

Azure

Azure SQL-Datenbank

Alle Instanztypen

Noch nicht unterstützt

Azure SQL Verwaltete Instanz

Alle Instanztypen

✔ unterstützt

SQL-Server auf Azure-VM

Alle

Nicht getestet

AWS

AWS RDS für SQL-Server

Alle Instanztypen

✔ unterstützt

SQL-Server für Amazon EC2

Alle

✔ unterstützt

Google Cloud

Google Cloud SQL für SQL Server

Alle

Nicht getestet

Openflow-Anforderungen

  • Die Laufzeitgröße muss mindestens „Medium“ sein. Verwenden Sie eine größere Laufzeit, wenn Sie große Datenmengen replizieren, insbesondere wenn die Zeilen groß sind.

  • Der Konnektor unterstützt keine Openflow-Laufzeitumgebungen mit mehreren Knoten. Konfigurieren Sie die Laufzeit für diesen Konnektor, indem Sie Min nodes und Max nodes auf 1 setzen.

Einschränkungen

  • Sie können nicht mehrere Konnektoren desselben Typs in einer einzigen Laufzeitinstanz ausführen.

  • Der Konnektor unterstützt nur die Authentifizierung mit Benutzernamen und Kennwort über SQL-Server.

  • Der Konnektor repliziert nur Tabellen mit Datentypen, die von Snowflake unterstützt werden. Eine Liste dieser Datentypen finden Sie unter Zusammenfassung der Datentypen.

  • Der Konnektor repliziert nur Datenbanktabellen, die Primärschlüssel enthalten.

  • Der Konnektor aktualisiert keine bestehenden Datensätze in der Snowflake-Datenbank, wenn eine neue NOT NULL-Spalte mit einem Standardwert erstellt wird, der zu einer der Quelldatenbanken hinzugefügt wird.

  • Der Konnektor aktualisiert keine bestehenden Datensätze in der Snowflake-Datenbank, wenn eine neue Spalte zur Liste der einbezogenen Spalten Column Filter JSON hinzugefügt wird.

  • Nachdem Sie eine Spalte in einer der Quelldatenbanken gelöscht und unter demselben Namen wieder hinzugefügt haben, führen weitere Löschvorgänge zu Fehlern.

  • Nachdem Sie eine Spalte in den JSON-Spaltenfilter eingefügt haben und sie ausschließen, führen weitere Einschließungsversuche zu Fehlern.

  • Der Konnektor unterstützt Änderungen am Schema einer Quelltabelle, mit Ausnahme von Änderungen an Primärschlüsseldefinitionen, Änderungen der Genauigkeit oder der Dezimalstellenzahl einer numerischen Spalte.

  • Der Konnektor unterstützt die Operation „Tabelle kürzen“ nicht.

  • Der Konnektor unterstützt nicht das erneute Hinzufügen einer Spalte, nachdem sie gelöscht wurde.

Bemerkung

Sie können Beschränkungen, die bestimmte Tabellenspalten betreffen, umgehen, indem Sie diese spezifischen Spalten von der Replikation ausschließen.

Nächste Schritte

Einrichten von Openflow Connector for SQL Server