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.
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 weiter, um verbindungsspezifische Einschränkungen zu erfahren.
- 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 Lakeflow Spark Declarative Pipelines.
- 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.
- Managed Ingestion Pipelines werden für Arbeitsbereiche in Azure GovCloud Regionen nicht unterstützt.
- Wenn SCD Typ 1 aktiviert ist, erzeugen Löschvorgänge kein explizites
deleteEreignis im Änderungsdatenfeed. Verwenden Sie für überprüfbare Löschungen SCD-Typ 2, wenn der Connector ihn unterstützt. Ausführliche Informationen finden Sie unter Beispiel: SCD-Typ 1- und SCD-Typ 2-Verarbeitung mit CDF-Quelldaten. - Der Connector erfasst rohe Daten ohne Transformationen. Verwenden Sie die Downstream-Pipelines von Lakeflow Spark Declarative Pipelines für Transformationen.
- Die Unterstützung ist auf primäre SQL Server-Instanzen beschränkt. Dies liegt daran, dass die Änderungsverfolgung und die Erfassung von Änderungsdaten auf Lesereplikaten oder sekundären Instanzen nicht unterstützt werden.
Authentifizierung
- Der Connector unterstützt die grundlegende Authentifizierung (Benutzername und Kennwort). Für Azure SQL-Datenbank und azure SQL Managed Instance unterstützt der Connector auch die Microsoft Entra ID-Authentifizierung.
- Konfigurationen von Failoverclustern mit mehreren Subnetzen müssen eine einzige vorwärts gerichtete IP-Adresse bereitstellen.
Datenbankvarianten
Der Connector unterstützt Azure SQL-Datenbank, azure SQL Managed Instance 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_idSpalte eingeführt. Ohne diese Spalte kann das Gateway für die Datenerfassung nicht zuverlässig zwischen den Typen von Datenänderungsoperationen unterscheiden (z.B.UPDATEOperationen, die sich alsDELETE-INSERTPaare mit identischen__$seqvalWerten manifestieren). 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 Pipeline zum Einbinden von Daten auf Serverless-Compute ausgeführt wird, muss das Gateway zum Einbinden von Daten auf klassischem Compute ausgeführt werden.
Schemaentwicklung
Der Konnektor handhabt neue und gelöschte Spalten automatisch, es sei denn, Sie haben sich dagegen entschieden.
- Wenn eine neue Spalte in der Quelle erscheint, bindet Databricks sie beim nächsten Ausführen der Pipeline automatisch 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
inactivezu setzen. Wenn später eine weitere Spalte mit einem konfliktierenden Namen mit derinactiveSpalte 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.
Staging
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 mit einer Pipeline nicht zwei Tabellen einbinden, deren Namen sich nur in der Groß- und Kleinschreibung unterscheiden (z.B.
MyTableundMYTABLE). Um solche Fälle zu unterstützen, erstellen Sie zwei Gateway-Ingest-Pipeline-Paare, die in Zielschemas veröffentlichen. - Die Namen
source_catalog,source_schemaundsource_tablesind groß- und kleinschreibungssensitiv. Wenn beispielsweise der Quelldatenbankkatalog alsMarketinginsys.databasesangegeben ist, können Sie ihn nicht alsmarketingin deringestion_definitionangeben. - 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 zum Beispiel nicht sowohl
schema1.Marketingals auchschema2.Marketingin dieselbe Pipeline einbinden. - Mehrere Tabellen- oder Schemaspezifikationen können im
objects-Feld desingestion_definitioneingeschlossen werden. Die Quelltabellennamen in verschiedenen Quellschemas können sich jedoch nicht überlappen. Dies führt zu einem Ausfall der Aufnahmepipeline.