Beperkingen voor SQL Server-connector

Op deze pagina vindt u beperkingen en overwegingen voor sql Server-opname met behulp van Databricks Lakeflow Connect.

Algemene beperkingen van databaseconnectoren

De beperkingen in deze sectie zijn van toepassing op alle databaseconnectors in Lakeflow Connect. Lees verder voor connectorspecifieke beperkingen.

  • Wanneer u een geplande pijplijn uitvoert, worden waarschuwingen niet onmiddellijk geactiveerd. In plaats daarvan worden ze geactiveerd wanneer de volgende update wordt uitgevoerd.
  • Wanneer een brontabel wordt verwijderd, wordt de doeltabel niet automatisch verwijderd. U moet de bestemmingstabel handmatig verwijderen. Dit gedrag is niet consistent met het gedrag van declaratieve pijplijnen van Lakeflow Spark.
  • De faseringscatalogus kan geen buitenlandse catalogus zijn.
  • Tijdens de brononderhoudsperioden heeft Databricks mogelijk geen toegang tot uw gegevens.
  • Als de naam van een brontabel conflicteert met een bestaande doeltabelnaam, mislukt de pijplijnupdate.
  • Ondersteuning voor multidestinatie-pijplijnen is alleen beschikbaar via de API.
  • Je kunt optioneel een tabel die je binnenhaalt een andere naam geven. Als je een tabel in je pipeline hernoemt, wordt het een alleen-API-pipeline en kun je de pipeline niet langer in de UI bewerken.
  • Als u een kolom selecteert nadat een pijplijn al is gestart, vult de connector de gegevens voor de nieuwe kolom niet automatisch aan. Om historische gegevens in te laden, voer handmatig een volledige vernieuwingsopdracht uit op de tabel.
  • Databricks kan geen twee of meer tabellen met dezelfde naam opnemen in dezelfde pijplijn, zelfs niet als ze afkomstig zijn van verschillende bronschema's.
  • In het bronsysteem wordt ervan uitgegaan dat de cursorkolommen monotonisch toenemen.
  • Beheerde gegevensinnamepijplijnen worden niet ondersteund voor FedRAMP High of FedRAMP Moderate werkruimten.
  • De connector neemt onbewerkte gegevens op zonder transformaties. Gebruik downstream Lakeflow Spark-declaratieve pijplijnen voor transformaties.
  • Ondersteuning is beperkt tot primaire SQL Server-exemplaren. Dit komt doordat het bijhouden en vastleggen van wijzigingsgegevens niet worden ondersteund op leesreplica's of secundaire instanties.

Authenticatie

  • De connector ondersteunt basisverificatie (gebruikersnaam en wachtwoord). Voor Azure SQL Database en Azure SQL Managed Instance biedt de connector ook ondersteuning voor Microsoft Entra ID-verificatie.
  • Multi-subnet failover clusterconfiguraties moeten een enkel extern IP-adres bieden.

Databasevariaties

  • De connector ondersteunt Azure SQL Database-, Azure SQL Managed Instance- en Amazon RDS SQL-databases. Dit omvat SQL Server die wordt uitgevoerd op virtuele Azure-machines (VM's) en Amazon EC2. De connector ondersteunt ook on-premises SQL Server met behulp van Azure ExpressRoute en AWS Direct Connect-netwerken. Zie Netwerkconnectiviteit voor meer informatie over connectiviteit tussen clouds.

  • Microsoft Change Data Capture (CDC) gebruiken:

    • U moet beschikken over sql Server 2012 servicepack 1 (SP1) cumulatieve updatepakket 3 (CU3) of hoger.

      Met deze update is de __$command_id kolom geïntroduceerd. Zonder deze kolom kan de opnamegateway niet betrouwbaar onderscheid maken tussen de typen bewerkingen voor gegevenswijziging (bijvoorbeeld UPDATE-bewerkingen die als DELETE-INSERT-paren met identieke __$seqval-waarden verschijnen). Dit kan leiden tot inconsistenties van gegevens.

    • Voor versies ouder dan SQL Server 2016 is Enterprise Edition ook vereist.

  • Als u Wijzigingen bijhouden van Microsoft wilt gebruiken, moet u SQL Server 2012 of hoger hebben.

Pijpleidingen

  • Elke opnamepijplijn moet worden gekoppeld aan precies één opnamegateway. Gateways kunnen niet worden gedeeld tussen pijplijnen.
  • Hoewel de opnamepijplijn draait op serverloze rekenkracht, moet de opnamegateway draaien op klassieke rekenkracht.

Ontwikkeling van schema's

De connector verwerkt automatisch nieuwe en verwijderde kolommen, tenzij u zich afmeldt.

  • Wanneer er een nieuwe kolom in de bron verschijnt, verwerkt Databricks deze automatisch bij de volgende uitvoering van de pijplijn. U kunt dit echter wel uitschakelen.
  • Wanneer een kolom uit de bron wordt verwijderd, wordt deze niet automatisch verwijderd door Databricks. In plaats daarvan gebruikt de connector een tabeleigenschap om de verwijderde kolom inactive in te stellen op de bestemming. Als er later een andere kolom met een conflicterende naam met de inactive kolom wordt weergegeven, mislukt de pijplijn. In dit geval kunt u een volledige vernieuwing van de tabel uitvoeren of de inactieve kolom handmatig verwijderen.

Dit geldt voor nieuwe en verwijderde tabellen in een schema als u het hele schema opneemt.

Ten slotte kan de connector kolomnamen verwerken, hoewel dit een volledige vernieuwing van de tabel vereist.

Aanvullende schemawijzigingen (bijvoorbeeld wijzigingen in gegevenstypen) vereisen ook een volledige vernieuwing van de doeltabellen.

Opstelling

De faseringscatalogus kan geen buitenlandse catalogus zijn.

Tabellen

  • Databricks raadt aan om 250 of minder tabellen per pijplijn op te nemen. Er is echter geen limiet voor het aantal rijen of kolommen dat binnen deze objecten wordt ondersteund.
  • Databricks kan geen twee tabellen verwerken waarvan de namen alleen verschillen in hoofdletters en kleine letters (bijvoorbeeld MyTable en MYTABLE) met één pijplijn. Ter ondersteuning van dergelijke gevallen, stelt u twee paren van gateway-ingestiepijplijnen samen die naar doelschema's publiceren.
  • De source_catalog, source_schema en source_table namen zijn hoofdlettergevoelig. Als de brondatabasecatalogus bijvoorbeeld is opgegeven zoals Marketing in sys.databases, kunt u deze niet opgeven zoals marketing in de ingestion_definition.
  • Hoewel u meerdere broncatalogussen of schema's in één pijplijn kunt opnemen, kunt u niet twee tabellen met dezelfde naam opnemen. U kunt bijvoorbeeld niet beide schema1.Marketing en schema2.Marketing in dezelfde pijplijn opnemen.
  • Er kunnen meerdere tabel- of schemaspecificaties worden opgenomen in het objects veld van de ingestion_definition. De namen van de brontabellen in verschillende schema's mogen echter niet overlappen. Dit resulteert in een opnamepijplijnfout.