Allgemeine Informationen zu Openflow Connector for SQL Server¶
Bemerkung
This connector is subject to the Snowflake Connector Terms.
This topic describes the basic concepts, workflow, and limitations of the Openflow Connector for SQL Server.
Use the Openflow Connector for SQL Server to connect multiple SQL Server databases in a single SQL Server instance to a Snowflake database and replicate data in near real-time or on a specified schedule.
The connector performs CDC replication of Microsoft SQL Server data with Snowflake for comprehensive, centralized reporting.
Workflow¶
Der folgende Workflow beschreibt die Schritte zur Einrichtung und Ausführung des Openflow Connector for SQL Server:
Ein SQL-Server Datenbankadministrator führt die folgenden Aufgaben aus:
Configures SQL Server replication settings and enables change tracking on the databases and tables being replicated.
Erzeugt Anmeldeinformationen für den Konnektor.
(Optional) Provides the SSL certificate to connect to the SQL Server instance over SSL.
Ein Snowflake-Kontoadministrator führt folgende Aufgaben aus:
Erstellt einen Servicebenutzer für den Konnektor, eine Zieldatenbank zum Speichern replizierter Daten und ein Warehouse für den Konnektor.
Installiert den Konnektor.
Gibt die erforderlichen Parameter für die Definition des Konnektorablaufs an.
Führt den Flow aus.
The connector does the following when run in Openflow:
Erstellt die Schemas und Zieltabellen, die mit den für die Replikation konfigurierten Quelltabellen übereinstimmen.
Begins replication according to the table replication lifecycle.
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¶
The connector replicates tables in the following stages:
Schema introspection: The connector discovers the columns in the source table, including the column names and types, then validates them against Snowflake’s and the connector’s limitations. Validation failures cause this stage to fail, and the cycle completes. After successful completion of this stage, the connector creates an empty destination table.
Snapshot load: The connector copies all data available in the source table into the destination table. If this stage fails, the connector stops replicating data. After successful completion, the data from the source table is available in the destination table.
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
Interim failures, such as connection errors, do not prevent table replication. However, permanent failures, such as unsupported data types, prevent table replication. If a permanent failure prevents table replication, remove the table from the list of tables to be replicated. After you address the problem that caused the failure, you can add the table back to the list of tables to be replicated.
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 |
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 |
Alle Instanztypen |
Not yet supported |
|
Alle Instanztypen |
✔ unterstützt |
||
SQL-Server auf Azure-VM |
Alle |
Nicht getestet |
|
AWS |
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
1setzen.
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.
The connector only replicates database tables that contain primary keys.
The connector does not update existing records in the Snowflake database when a new NOT NULL column with a default value is added to one of the source databases.
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.
After you delete a column in one of the source databases and add it back with the same name, additional deletes cause errors.
After you include a column in Column Filter JSON and exclude it, additional include attempts cause errors.
The connector supports source table schema changes, except for changing primary key definitions, changing the precision, or the scale of a numeric column.
Der Konnektor unterstützt die Operation „Tabelle kürzen“ nicht.
The connector does not support re-adding a column after it is dropped.
Bemerkung
You can bypass limitations affecting certain table columns by excluding these specific columns from replication.