Einschränkungen und bekannte Probleme mit Azure Synapse Link für SQL

In diesem Artikel werden die Einschränkungen und bekannten Probleme mit Azure Synapse Link für SQL aufgeführt.

Einschränkungen

In den folgenden Abschnitten werden die Einschränkungen bei Azure Synapse Link für SQL aufgeführt.

Azure SQL-Datenbank und SQL Server 2022

  • Quelltabellen müssen über Primärschlüssel verfügen.
  • Nur ein schreibbares primäres Replikat wird als Datenquelle für Azure Synapse Link für SQL unterstützt.
  • Die folgenden Datentypen werden für Primärschlüssel in den Quelltabellen nicht unterstützt:
    • real
    • float
    • hierarchyid
    • sql_variant
    • timestamp
  • Die Zeilengröße der Quelltabelle darf 7.500 Bytes nicht überschreiten. Bei Tabellen, in denen Spalten mit variabler Länge außerhalb der Zeile gespeichert werden, wird ein 24-Byte-Zeiger im Hauptdatensatz gespeichert.
  • Wenn für Quelltabellen Anfangsmomentaufnahmen erstellt werden, werden Quelltabellendaten, die LOB-Daten (Large Object, großes Objekt) mit mehr als 1 MB enthalten, nicht unterstützt. Zu diesen LOB-Datentypen gehören „varchar(max)“, „nvarchar(max)“ und „varbinary(max)“. Ein Fehler wird ausgelöst, und Daten werden nicht nach Azure Synapse Analytics exportiert.
  • Tabellen, die für Azure Synapse Link für SQL aktiviert sind, können maximal 1.020 Spalten aufweisen (nicht 1.024).
  • Obwohl eine Datenbank mehrere Verbindungen aktiviert haben kann, kann eine bestimmte Tabelle nicht zu mehreren Verbindungen gehören.
  • Wenn ein Datenbankbesitzer keine zugeordnete Anmeldung besitzt, tritt für Azure Synapse Link für SQL beim Aktivieren einer Linkverbindung ein Fehler auf. Der Benutzer kann den Datenbankbesitzer mit dem Befehl ALTER AUTHORIZATION auf einen gültigen Benutzer festlegen, um dieses Problem zu beheben.
  • Wenn die Quelltabelle berechnete Spalten oder Spalten mit Datentypen enthält, die von dedizierten Azure Synapse Analytics SQL-Pools nicht unterstützt werden, werden diese Spalten nicht in Azure Synapse Analytics repliziert. Nicht unterstützte Spalten sind beispielsweise:
    • image
    • Text
    • Xml
    • timestamp
    • sql_variant
    • UDT
    • Geometrie
    • geography
  • Maximal 5.000 Tabellen können einer einzelnen Linkverbindung hinzugefügt werden.
  • Die folgenden Tabellen-DDL-Vorgänge sind für Quelltabellen nicht zulässig, wenn sie für Azure Synapse Link für SQL aktiviert sind. Alle anderen DDL-Vorgänge sind zulässig, werden aber nicht in Azure Synapse Analytics repliziert.
    • Partition wechseln
    • Spalte hinzufügen/ablegen/ändern
    • Primärschlüssel. ändern
    • Tabelle ablegen/abschneiden
    • Tabelle umbenennen
  • Wenn DDL und DML in einer expliziten Transaktion (zwischen BEGIN TRANSACTION- und END TRANSACTION-Anweisungen) ausgeführt werden, schlägt die Replikation für entsprechende Tabellen innerhalb der Linkverbindung fehl.

    Hinweis

    Wenn eine Tabelle für Transaktionskonsistenz auf der Linkverbindungsebene wichtig ist, überprüfen Sie den Status der Azure Synapse Link-Tabelle auf der Registerkarte „Überwachung“.

  • Azure Synapse Link für SQL kann nicht aktiviert werden, wenn eines der folgenden Features für die Quelltabelle verwendet wird:
    • Change Data Capture
    • Temporale Verlaufstabelle
    • Always Encrypted
    • In-Memory-OLTP
    • Columnstore-Index
    • Graph
  • Systemtabellen können nicht repliziert werden.
  • Die Sicherheitskonfiguration aus der Quelldatenbank wird NICHT in den dedizierten SQL-Zielpool übernommen.
  • Wenn Azure Synapse Link für SQL aktiviert wird, wird ein neues Schema namens changefeed erstellt. Verwenden Sie dieses Schema nicht, da es für Systemverwendung reserviert ist.
  • Quelltabellen mit Sortierungen, die von dedizierten SQL-Pools nicht unterstützt werden, z. B. UTF8 und bestimmte japanische Sortierungen, können nicht repliziert werden. Dies sind die unterstützten Sortierungen im Synapse SQL-Pool.
    • Darüber hinaus werden derzeit einige thailändische Sprachsortierungen von Azure Synapse Link für SQL nicht unterstützt. Zu diesen nicht unterstützten Sortierungen gehören:
      • Thai100CaseInsensitiveAccentInsensitiveKanaSensitive
      • Thai100CaseInsensitiveAccentSensitiveSupplementaryCharacters
      • Thai100CaseSensitiveAccentInsensitiveKanaSensitive
      • Thai100CaseSensitiveAccentInsensitiveKanaSensitiveWidthSensitiveSupplementaryCharacters
      • Thai100CaseSensitiveAccentSensitiveKanaSensitive
      • Thai100CaseSensitiveAccentSensitiveSupplementaryCharacters
      • ThaiCaseSensitiveAccentInsensitiveWidthSensitive
    • Die Sortierung Latin1_General_BIN2 wird derzeit nicht unterstützt, da ein bekanntes Problem dazu führt, dass die Verknüpfung nicht beendet werden kann und zugrunde liegende Tabellen nicht aus der Replikation entfernt werden können.
  • Einzelzeilenupdates (einschließlich Speicherung außerhalb der Seite) > 370 MB werden nicht unterstützt.
  • Wenn Sie Azure Synapse Link für SQL für die Azure SQL-Datenbank oder den SQL Server 2022 aktivieren, wird das aggressive Protokollkürzungs-Feature der beschleunigten Datenbankwiederherstellung (Accelerated Database Recovery, ADR) automatisch deaktiviert. Dies liegt daran, dass Azure Synapse Link für SQL auf das Datenbanktransaktionsprotokoll zugreift. Dieses Verhalten ähnelt Change Data Capture (CDC). Aktive Transaktionen blockieren weiterhin die Transaktionsprotokollkürzung, bis die Transaktion committet wird und Azure Synapse Link für SQL aufholt oder bis die Transaktion abgebrochen wird. Dies kann dazu führen, dass sich das Transaktionsprotokoll mehr als üblich füllt und überwacht werden sollte, damit das Transaktionsprotokoll nicht voll wird.

ausschließlich Azure SQL-Datenbank

  • Azure Synapse Link für SQL wird nicht für die Tarife „Free“, „Basic“ oder „Standard“ mit weniger als 100 DTUs unterstützt.
  • Azure Synapse Link für SQL wird für SQL Managed Instance nicht unterstützt.
  • Ein Dienstprinzipal wird für die Authentifizierung mit der Azure SQL-Quell-DB nicht unterstützt. Wenn Sie also einen verknüpften Azure SQL-DB-Dienst erstellen, wählen Sie SQL-Authentifizierung, benutzerseitig zugewiesene verwaltete Identität (User-Assigned Managed Identity, UAMI) oder dienstseitig zugewiesene verwaltete Identität (Service Assigned Managed Identity, SAMI) aus.
  • Wenn für den logischen Server von Azure SQL-Datenbank sowohl eine SAMI als auch eine UAMI konfiguriert ist, verwendet Azure Synapse Link SAMI.
  • Azure Synapse Link kann nicht für die sekundäre Datenbank aktiviert werden, sobald ein GeoDR-Failover aufgetreten ist, wenn die sekundäre Datenbank einen anderen Namen als die primäre Datenbank aufweist.
  • Wenn Sie Azure Synapse Link für SQL für Ihre Datenbank als Microsoft Entra-Benutzer*in aktiviert haben, ist die Zeitpunktwiederherstellung (Point-In-Time Restore, PITR) nicht erfolgreich. Zeitpunktwiederherstellungen funktionieren nur, wenn Sie Azure Synapse Link für SQL für Ihre Datenbank als SQL-Benutzer aktivieren.
  • Wenn Sie eine Datenbank als Microsoft Entra-Benutzer*in erstellen und Azure Synapse Link für SQL aktivieren, kann ein*e SQL-Authentifizierungsbenutzer*in Azure Synapse Link für SQL-Artefakte nicht deaktivieren bzw. keine Änderungen vornehmen (dies gilt selbst für die sysadmin-Rolle). Ein*e andere*r Microsoft Entra-Benutzer*in kann Azure Synapse Link für SQL jedoch für dieselbe Datenbank aktivieren bzw. deaktivieren. Wenn Sie eine Datenbank als SQL-Authentifizierungsbenutzer*in erstellen, funktioniert die Aktivierung/Deaktivierung von Azure Synapse Link für SQL als Microsoft Entra-Benutzer*in nicht.
  • Die mandantenübergreifende Datenreplikation wird nicht unterstützt, wenn sich eine Azure SQL-Datenbank und der Azure Synapse-Arbeitsbereich in separaten Mandanten befinden.

Nur SQL Server 2022.

  • Azure Synapse Link für SQL kann nicht in Datenbanken aktiviert werden, die Transaktionsreplikationsherausgeber oder -verteiler sind.
  • Bei Verwendung asynchroner Replikate in einer Verfügbarkeitsgruppe müssen Transaktionen in alle Replikate geschrieben werden, bevor sie in Azure Synapse Link für SQL veröffentlicht werden.
  • Azure Synapse Link für SQL wird für Datenbanken mit aktivierter Datenbankspiegelung nicht unterstützt.
  • Das Wiederherstellen einer lokalen Version einer für Azure Synapse Link für SQL aktivierten Datenbank in Azure SQL Managed Instance wird nicht unterstützt.

Achtung

Azure Synapse Link für SQL wird für Datenbanken, die auch Azure SQL Managed Instance Link verwenden, nicht unterstützt. Beachten Sie, dass in diesen Szenarien beim Übergang der verwalteten Instanz in den Lese-/Schreibmodus möglicherweise Probleme mit dem vollen Transaktionsprotokoll auftreten können.

Bekannte Probleme

  • Gilt für: Azure Synapse Link für Azure SQL-Datenbank und SQL Server 2022
  • Problem: Wenn Sie einen Azure Synapse Analytics-Arbeitsbereich löschen, ist es möglich, dass aktive Verbindungen nicht beendet werden, was dazu führt, dass die Quelldatenbank davon ausgeht, dass die Verbindung immer noch funktionsfähig ist. Dies könnte bewirken, dass das Transaktionsprotokoll und nicht abgeschnitten wird und sich füllt.
  • Lösung: Es gibt zwei mögliche Lösungen für dieses Problem:
  1. Beenden Sie alle aktiven Links, bevor Sie den Azure Synapse Analytics-Arbeitsbereich löschen.
  2. Bereinigen Sie die Linkdefinition in der Quelldatenbank manuell.
    1. Suchen Sie mit der folgenden Abfrage nach der Tabellengruppen-ID (table_group_id), die beendet werden muss:
      SELECT table_group_id, workspace_id, synapse_workgroup_name
      FROM [changefeed].[change_feed_table_groups]
      WHERE synapse_workgroup_name = <synapse workspace name>
      
    2. Trennen Sie jeden Link, der gefunden wurde, mithilfe der folgenden Prozedur:
      EXEC sys.sp_change_feed_drop_table_group @table_group_id = <table_group_id>
      
    3. Wenn Sie alle Tabellengruppen für eine bestimmte Datenbank deaktivieren, können Sie optional auch den Änderungsfeed für die Datenbank mit dem folgenden Befehl deaktivieren:
      EXEC sys.sp_change_feed_disable_db
      

Wenn Sie versuchen, den Änderungsfeed für eine Tabelle erneut zu aktivieren, für die der Änderungsfeed kürzlich deaktiviert wurde, wird ein Fehler angezeigt. (Dies ist ein ungewöhnliches Verhalten.)

  • Gilt für: Azure Synapse Link für Azure SQL-Datenbank und SQL Server 2022
  • Problem: Wenn Sie versuchen, eine Tabelle zu aktivieren, die kürzlich deaktiviert wurde, deren Metadaten noch nicht bereinigt wurden und deren Zustand als DEAKTIVIERT gekennzeichnet ist, wird ein Fehler mit dem Hinweis A table can only be enabled once among all table groups ausgelöst.
  • Lösung: Warten Sie einige Zeit, bis die deaktivierte Tabellensystemprozedur abgeschlossen wird, und versuchen Sie dann noch mal, die Tabelle erneut zu aktivieren.
  • Gilt für: Azure Synapse Link für Azure SQL-Datenbank und SQL Server 2022
  • Problem: Bei SQL-Datenbanken, die mit Azure Synapse Link aktiviert sind, werden das changefeed-Schema und der zugehörige Benutzer nicht aus der neuen Datenbank ausgeschlossen, wenn Sie SSDT-Import/Export- und Extrahieren/Bereitstellen-Vorgänge zum Importieren/Einrichten einer neuen Datenbank verwenden. Die Tabellen für den Änderungsfeed werden jedoch von DaxFX ignoriert, weil sie in sys.objects als is_ms_shipped=1 gekennzeichnet sind, und diese Objekte werden nie in SSDT-Import/Export- und Extrahieren/Bereitstellen-Vorgängen eingeschlossen. Beim Aktivieren von Azure Synapse Link für die importierte/bereitgestellte Datenbank schlägt die gespeicherte Systemprozedur sys.sp_change_feed_enable_db fehl, wenn der changefeed-Benutzer und das zugehörige Schema bereits vorhanden sind. Dieses Problem tritt auf, wenn Sie einen Benutzer oder ein Schema namens changefeed erstellt haben, der bzw. das keinen Bezug zur Azure Synapse Link-Änderungsfeedfunktion hat.
  • Lösung:
    • Löschen Sie das leere changefeed-Schema und den leeren changefeed-Benutzer manuell. Anschließend kann Azure Synapse Link für die importierte/bereitgestellte Datenbank erfolgreich aktiviert werden.
    • Wenn Sie ein benutzerdefiniertes Schema oder einen benutzerdefinierten Benutzer namens changefeed in Ihrer Datenbank definiert haben, der keinen Bezug zu Azure Synapse Link hat, und Sie nicht beabsichtigen, Azure Synapse Link für SQL zu verwenden, ist es nicht notwendig, Ihr changefeed-Schema oder den zugehörigen Benutzer zu löschen.
    • Wenn Sie ein benutzerdefiniertes Schema oder einen benutzerdefinierten Benutzer namens changefeed in Ihrer Datenbank definiert haben, kann diese Datenbank derzeit nicht an Azure Synapse Link für SQL teilnehmen.

Nächste Schritte