Delen via


Beperkingen en bekende problemen met Azure Synapse Link voor SQL

In dit artikel vindt u een overzicht van de beperkingen en bekende problemen met Azure Synapse Link voor SQL.

Beperkingen

De volgende secties bevatten beperkingen voor Azure Synapse Link voor SQL.

Azure SQL Database en SQL Server 2022

  • Brontabellen moeten primaire sleutels hebben.
  • Alleen een beschrijfbare primaire replica wordt ondersteund als de gegevensbron voor Azure Synapse Link voor SQL.
  • De volgende gegevenstypen worden niet ondersteund voor primaire sleutels in de brontabellen.
    • werkelijk
    • drijven
    • hiërarchie-id
    • sql_variant
    • tijdstempel
  • De rijgrootte van de brontabel mag niet groter zijn dan 7500 bytes. Voor tabellen waarin kolommen met variabele lengte buiten rij worden opgeslagen, wordt een aanwijzer van 24 bytes opgeslagen in de hoofdrecord.
  • Wanneer brontabellen in eerste instantie worden gemomentopnamen gemaakt, worden alle brontabelgegevens met grote objectgegevens (LOB) die groter zijn dan 1 MB niet ondersteund. Deze LOB-gegevenstypen zijn: varchar(max), nvarchar(max), varbinary(max). Er wordt een fout gegenereerd en gegevens worden niet geëxporteerd naar Azure Synapse Analytics. Gebruik de opgeslagen procedure sp_configure om de geconfigureerde maximumwaarde voor max text repl size de optie te verhogen, die standaard 64 K is. Een geconfigureerde waarde van -1 geeft geen limiet aan, behalve de limiet die is opgelegd door het gegevenstype.
  • Tabellen die zijn ingeschakeld voor Azure Synapse Link voor SQL, kunnen maximaal 1020 kolommen bevatten (niet 1024).
  • Hoewel een database meerdere koppelingen kan hebben ingeschakeld, kan een bepaalde tabel niet tot meerdere koppelingen behoren.
  • Wanneer een database-eigenaar geen toegewezen aanmelding heeft, treedt Azure Synapse Link voor SQL op als er een fout optreedt bij het inschakelen van een koppelingsverbinding. Gebruiker kan de eigenaar van de database instellen op een geldige gebruiker met de ALTER AUTHORIZATION opdracht om dit probleem op te lossen.
  • Als de brontabel berekende kolommen of kolommen bevat met gegevenstypen die toegewezen SQL-pools niet ondersteunen, worden de kolommen niet gerepliceerd. Niet-ondersteunde kolommen bevatten het volgende.
    • afbeelding
    • tekst
    • xml
    • tijdstempel
    • sql_variant
    • UDT
    • meetkunde
    • geografie
  • Er kunnen maximaal 5000 tabellen worden toegevoegd aan één koppelingsverbinding.
  • De volgende DDL-bewerkingen (Table Data Definition Language) zijn niet toegestaan voor brontabellen wanneer ze zijn ingeschakeld voor Azure Synapse Link voor SQL. Alle andere DDL-bewerkingen zijn toegestaan, maar worden niet gerepliceerd naar Azure Synapse Analytics.
    • Partitie wisselen
    • Kolom toevoegen/neerzetten/wijzigen
    • Primaire sleutel wijzigen
    • Tabel neerzetten/afkappen
    • Tabelnaam wijzigen
  • Als DDL (Data Definition Language) + data manipulat language (DML) wordt uitgevoerd in een expliciete transactie (tussen BEGIN TRANSACTION en END TRANSACTION instructies), mislukt de replicatie voor bijbehorende tabellen binnen de koppelingsverbinding.

    Notitie

    Als een tabel essentieel is voor transactionele consistentie op het niveau van de koppelingsverbinding, controleert u de status van de Azure Synapse Link-tabel op het tabblad Bewaking.

  • Azure Synapse Link voor SQL kan niet worden ingeschakeld als een van de volgende functies wordt gebruikt voor de brontabel.
    • Change Data Capture
    • Tijdelijke geschiedenistabel
    • Altijd versleuteld
    • In-memory tabellen
    • Columnstore-index
    • Grafiek
  • Systeemtabellen kunnen niet worden gerepliceerd.
  • De beveiligingsconfiguratie van de brondatabase wordt NIET weergegeven in de toegewezen SQL-doelpool.
  • Als u Azure Synapse Link voor SQL inschakelt, maakt u een nieuw schema met de naam changefeed. Gebruik dit schema niet, omdat het is gereserveerd voor systeemgebruik.
  • Brontabellen met sorteringen die niet worden ondersteund door toegewezen SQL-pools, zoals UTF-8 en bepaalde Japanse sorteringen, kunnen niet worden gerepliceerd. Zie ondersteunde sorteringen in Synapse SQL-pools.
    • Daarnaast biedt Azure Synapse Link voor SQL geen ondersteuning voor enkele Thaise taalsorteringen:
      • Thai100CaseInsensitiveAccentInsensitiveKanaSensitive
      • Thai100CaseInsensitiveAccentSensitiveSupplementaryCharacters
      • Thai100CaseSensitiveAccentInsensitiveKanaSensitive
      • Thai100CaseSensitiveAccentInsensitiveKanaSensitiveWidthSensitiveSupplementaryCharacters
      • Thai100CaseSensitiveAccentSensitiveKanaSensitive
      • Thai100CaseSensitiveAccentSensitiveSupplementaryCharacters
      • ThaiCaseSensitiveAccentInsensitiveWidthSensitive
  • Updates van één rij (inclusief opslag buiten pagina's) van > 370 MB worden niet ondersteund.
  • Wanneer Azure Synapse Link voor SQL in Azure SQL Database of SQL Server 2022 is ingeschakeld, wordt de agressieve functie voor het afkappen van logboeken van Versneld databaseherstel (ADR) automatisch uitgeschakeld. Dit is nodig omdat Azure Synapse Link voor SQL toegang heeft tot het transactielogboek van de database. Dit gedrag is vergelijkbaar met gewijzigde gegevensopname (CDC). Actieve transacties blijven de afkapping van het transactielogboek behouden totdat de transactiedoorvoeringen en Azure Synapse Link voor SQL worden onderschept of transactie wordt afgebroken. Dit kan ertoe leiden dat het transactielogboek meer invult dan normaal en moet worden bewaakt, zodat het transactielogboek niet wordt ingevuld.

Alleen Azure SQL Database

  • Azure Synapse Link voor SQL wordt niet ondersteund in de gratis, Basic- of Standard-laag met minder dan 100 DTU's.
  • Azure Synapse Link voor SQL wordt niet ondersteund in SQL Managed Instances.
  • Service-principal wordt niet ondersteund voor verificatie bij de bron-Azure SQL DB. Wanneer u een gekoppelde Azure SQL DB-service maakt, kiest u SQL-verificatie, door de gebruiker toegewezen beheerde identiteit (UAMI) of door de service toegewezen beheerde identiteit (SAMI).
  • Als de logische Server van Azure SQL Database zowel SAMI als UAMI heeft geconfigureerd, gebruikt Azure Synapse Link SAMI.
  • Azure Synapse Link kan niet worden ingeschakeld op de secundaire database na een GeoDR-failover, als de secundaire database een andere naam heeft dan de primaire database.
  • Als u Azure Synapse Link voor SQL inschakelt in uw database als Microsoft Entra-gebruiker, mislukt herstel naar een bepaald tijdstip (PITR). PITR werkt alleen wanneer u Azure Synapse Link voor SQL inschakelt in uw database als EEN SQL-gebruiker.
  • Als u een database als Microsoft Entra-gebruiker maakt en Azure Synapse Link voor SQL inschakelt, kan een SQL-verificatiegebruiker (bijvoorbeeld zelfs sysadmin-rol) azure Synapse Link voor SQL-artefacten niet uitschakelen/wijzigen. Een andere Microsoft Entra-gebruiker kan Azure Synapse Link voor SQL echter in- of uitschakelen in dezelfde database. Als u een database als een SQL-verificatiegebruiker maakt, werkt het in-/uitschakelen van Azure Synapse Link voor SQL niet als Microsoft Entra-gebruiker.
  • Replicatie van gegevens tussen tenants wordt niet ondersteund wanneer een Azure SQL Database en de Azure Synapse-werkruimte zich in afzonderlijke tenants bevinden.

Alleen SQL Server 2022

  • Azure Synapse Link voor SQL kan niet worden ingeschakeld voor databases die transactionele replicatie-uitgevers of distributeurs zijn.
  • Met asynchrone replica's in een beschikbaarheidsgroep moeten transacties naar alle replica's worden geschreven voordat ze naar Azure Synapse Link voor SQL worden gepubliceerd.
  • Azure Synapse Link voor SQL wordt niet ondersteund voor databases waarvoor databasespiegeling is ingeschakeld.
  • Het herstellen van een Azure Synapse Link voor een database met SQL-functionaliteit van on-premises naar Azure SQL Managed Instance wordt niet ondersteund.

Let op

Azure Synapse Link voor SQL wordt niet ondersteund in databases die ook gebruikmaken van Azure SQL Managed Instance Link. Let op: wanneer in deze scenario's het beheerde exemplaar overgaat naar de lees-/schrijfmodus, kan het transactielogboek volledige problemen ondervinden.

Bekende problemen

  • Van toepassing op - Azure Synapse Link voor Azure SQL Database en SQL Server 2022

  • Probleem: wanneer u een Azure Synapse Analytics-werkruimte verwijdert, is het mogelijk dat actieve koppelingen mogelijk niet worden gestopt, waardoor de brondatabase denkt dat de koppeling nog steeds operationeel is en dat het transactielogboek niet kan worden afgekapt en kan worden ingevuld.

  • Oplossing: er zijn twee mogelijke oplossingen voor deze situatie:

    1. Stop alle actieve koppelingen voordat u de Azure Synapse Analytics-werkruimte verwijdert.
    2. De koppelingsdefinitie handmatig opschonen in de brondatabase.
      1. Zoek de table_group_id gegevens die moeten worden gestopt met behulp van de volgende query.
        SELECT table_group_id, workspace_id, synapse_workgroup_name
        FROM [changefeed].[change_feed_table_groups]
        WHERE synapse_workgroup_name = <synapse workspace name>;
        
      2. Verwijder elke koppeling die is geïdentificeerd met behulp van de volgende procedure.
        EXEC sys.sp_change_feed_drop_table_group @table_group_id = <table_group_id>;
        
      3. Als u alle tabelgroepen voor een bepaalde database uitschakelt, kunt u eventueel ook de wijzigingenfeed voor de database uitschakelen met de volgende opdracht.
        EXEC sys.sp_change_feed_disable_db;
        

Als u de wijzigingenfeed opnieuw inschakelt voor een tabel waarvoor deze onlangs is uitgeschakeld, wordt een fout weergegeven

  • Van toepassing op - Azure Synapse Link voor Azure SQL Database en SQL Server 2022
  • Dit is ongebruikelijk gedrag.
  • Probleem- Wanneer u een tabel probeert in te schakelen die onlangs is uitgeschakeld met de metagegevens die nog niet zijn opgeschoond en de status is gemarkeerd als UITGESCHAKELD, wordt er een fout gegenereerd met de melding A table can only be enabled once among all table groups.
  • Oplossing: wacht even totdat de procedure voor het uitgeschakelde tabelsysteem is voltooid en probeer de tabel opnieuw in te schakelen.
  • Van toepassing op - Azure Synapse Link voor Azure SQL Database en SQL Server 2022
  • Probleem: voor SQL-databases die zijn ingeschakeld met Azure Synapse Link, worden het schema en de changefeed gebruiker niet uitgesloten wanneer u SSDT Import/Export en Extract/Deploy-bewerkingen gebruikt om een nieuwe database te importeren/instellen. De tabellen voor de wijzigingenfeed worden echter genegeerd door DacFX omdat ze zijn gemarkeerd als is_ms_shipped=1 in sys.objectsen die objecten nooit zijn opgenomen in SSDT Import/Export- en Extract/Deploy-bewerkingen. Wanneer u Azure Synapse Link inschakelt voor de geïmporteerde/geïmplementeerde database, mislukt de opgeslagen procedure sys.sp_change_feed_enable_db van het systeem als de gebruiker en het changefeed schema al bestaan. Dit probleem treedt op als u een gebruiker of schema met de naam changefeed hebt gemaakt die niet is gerelateerd aan de azure Synapse Link-functie voor wijzigingenfeeds.
  • Resolutie-
    • Verwijder het lege changefeed schema en changefeed de gebruiker handmatig. Vervolgens kan Azure Synapse Link worden ingeschakeld voor de geïmporteerde/geïmplementeerde database.
    • Als u een aangepast schema of een aangepaste gebruiker hebt gedefinieerd met de naam changefeed in uw database die niet is gerelateerd aan Azure Synapse Link en u niet van plan bent om Azure Synapse Link voor SQL te gebruiken, hoeft u het changefeed schema of de gebruiker niet te verwijderen.
    • Als u een klantschema of gebruiker met de naam changefeed in uw database hebt gedefinieerd, kan deze database momenteel niet deelnemen aan De Azure Synapse Link voor SQL.