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.
Wichtig
Der Microsoft SQL Server-Connector befindet sich in der öffentlichen Vorschau.
Auf dieser Seite werden Einschränkungen und Überlegungen für die Aufnahme von SQL Server mithilfe von Databricks Lakeflow Connect aufgeführt.
Allgemeine Einschränkungen des Datenbankkonnektors
Die Einschränkungen in diesem Abschnitt gelten für alle Datenbankkonnektoren in Lakeflow Connect. Lesen Sie weiterhin für connectorspezifische Einschränkungen.
- Wenn Sie eine geplante Pipeline ausführen, werden Warnungen nicht sofort ausgelöst. Stattdessen werden sie ausgelöst, wenn das nächste Update ausgeführt wird.
- Wenn eine Quelltabelle gelöscht wird, wird die Zieltabelle nicht automatisch gelöscht. Sie müssen die Zieltabelle manuell löschen. Dieses Verhalten entspricht nicht dem Verhalten von Deklarativen Pipelines von Lakeflow.
- Während der Quellwartungszeiträume können Databricks möglicherweise nicht auf Ihre Daten zugreifen.
- Wenn ein Quelltabellenname mit einem vorhandenen Zieltabellennamen in Konflikt steht, schlägt die Pipelineaktualisierung fehl.
- Die Unterstützung für Multi-Destination-Pipelines erfolgt ausschließlich über die API.
- Sie können nach Belieben eine Tabelle umbenennen, die Sie importieren. Wenn Sie eine Tabelle in Ihrer Pipeline umbenennen, wird sie zu einer nur API-Pipeline, und Sie können die Pipeline nicht mehr in der Benutzeroberfläche bearbeiten.
- Wenn Sie eine Spalte auswählen, nachdem eine Pipeline bereits gestartet wurde, füllt der Verbinder die Daten für die neue Spalte nicht automatisch aus. Um historische Daten zu erfassen, führen Sie manuell eine vollständige Aktualisierung der Tabelle aus.
- Databricks können nicht zwei oder mehr Tabellen mit demselben Namen in derselben Pipeline aufnehmen, auch wenn sie aus verschiedenen Quellschemas stammen.
- Das Quellsystem geht davon aus, dass die Cursorspalten monoton steigen.
- Verwaltete Aufnahmepipelines werden für Arbeitsbereiche in Azure GovCloud-Regionen nicht unterstützt.
- Die Unterstützung ist auf primäre SQL Server-Instanzen beschränkt. Dies liegt daran, dass die Datenerfassung von Änderungen für Lesereplikate oder sekundäre Instanzen nicht unterstützt wird.
Authentifizierung
- Der Connector unterstützt nur die Benutzernamen- und Kennwortauthentifizierung.
- Konfigurationen von Failoverclustern mit mehreren Subnetzen müssen eine einzige vorwärts gerichtete IP-Adresse bereitstellen.
Datenbankvarianten
Der Connector unterstützt Azure SQL- und Amazon RDS SQL-Datenbanken. Dazu gehört SQL Server, der auf virtuellen Azure-Computern (VMs) und Amazon EC2 ausgeführt wird. Der Connector unterstützt auch sql Server lokal mit Azure ExpressRoute und AWS Direct Connect-Netzwerk.
So verwenden Sie die Microsoft-Änderungsdatenerfassung (CDC):
Sie benötigen SQL Server 2012 Service Pack 1 (SP1) kumulatives Updatepaket 3 (CU3) oder höher.
Mit diesem Update wurde die
__$command_id
Spalte eingeführt. Ohne diese Spalte kann das Aufnahmegateway nicht zuverlässig zwischen Datenänderungstypen unterscheiden (z. B.UPDATE
-Vorgänge, die als Paare mit identischenDELETE-INSERT
-Werten erscheinen__$seqval
). Dies kann zu Dateninkonsistenzen führen.Für Versionen vor SQL Server 2016 ist enterprise Edition ebenfalls erforderlich.
Zur Verwendung der Microsoft-Änderungsnachverfolgung müssen Sie SQL Server 2012 oder höher haben.
Rohrleitungen
- Jede Aufnahmepipeline muss genau einem Aufnahmegateway zugeordnet sein.
- Obwohl die Aufnahmepipeline auf serverloser Berechnung ausgeführt wird, muss das Aufnahmegateway auf der klassischen Berechnung ausgeführt werden.
Schemaentwicklung
Der Verbinder behandelt automatisch neue und gelöschte Spalten, es sei denn, Sie deaktivieren.
- Wenn eine neue Spalte in der Quelle angezeigt wird, nimmt Databricks sie automatisch bei der nächsten Ausführung der Pipeline ein. Sie können dies jedoch deaktivieren.
- Wenn eine Spalte aus der Quelle gelöscht wird, löscht Databricks sie nicht automatisch. Stattdessen verwendet der Verbinder eine Tabelleneigenschaft, um die gelöschte Spalte im Ziel auf
inactive
zu setzen. Wenn später eine weitere Spalte mit einem konfliktierenden Namen mit derinactive
Spalte angezeigt wird, schlägt die Pipeline fehl. In diesem Fall können Sie eine vollständige Aktualisierung der Tabelle ausführen oder die inaktive Spalte manuell ablegen.
Dies gilt für neu erstellte und gelöschte Tabellen in einem Schema, wenn Sie das gesamte Schema verarbeiten.
Schließlich kann der Verbinder Spaltenumbenennungen verarbeiten, obwohl dies eine vollständige Aktualisierung der Tabelle erfordert.
Zusätzliche Schemaänderungen (z. B. Datentypänderungen) erfordern auch eine vollständige Aktualisierung der Zieltabellen.
Inszenierung
Der Stagingkatalog kann kein fremder Katalog sein.
Tabellen
- Databricks empfiehlt, maximal 250 Tabellen pro Pipeline zu erfassen. Es gibt jedoch keine Beschränkung für die Anzahl von Zeilen oder Spalten, die in diesen Objekten unterstützt werden.
- Databricks kann nicht zwei Tabellen aufnehmen, deren Namen nur im Fall (z. B.
MyTable
undMYTABLE
) abweichen, mithilfe einer Pipeline. Um solche Fälle zu unterstützen, erstellen Sie zwei Gateway-Aufnahmepipelinepaare, die in Zielschemas veröffentlicht werden. - Die Namen
source_catalog
,source_schema
undsource_table
sind groß- und kleinschreibungssensitiv. Wenn beispielsweise der Quelldatenbankkatalog alsMarketing
insys.databases
angegeben ist, können Sie ihn nicht alsmarketing
in deringestion_definition
angeben. - Obwohl Sie aus mehreren Quellkatalogen oder Schemas in einer Pipeline aufnehmen können, können Sie nicht zwei Tabellen mit demselben Namen aufnehmen. Sie können beispielsweise nicht sowohl
schema1.Marketing
als auchschema2.Marketing
in derselben Pipeline verwenden. - Mehrere Tabellen- oder Schemaspezifikationen können im
objects
-Feld desingestion_definition
eingeschlossen werden. Die Quelltabellennamen in verschiedenen Quellschemas können sich jedoch nicht überlappen. Dies führt zu einem Ausfall der Aufnahmepipeline.