Vad är SQL-analysslutpunkten för ett lakehouse?

SQL-analysslutpunkten ger dig en skrivskyddad T-SQL-fråga surface över Delta-tabellerna i lakehouse. Varje lakehouse etablerar automatiskt en SQL-analysslutpunkt när den skapas – det finns inget extra att konfigurera. I bakgrunden körs SQL-analysslutpunkten på samma motor som Fabric Data Warehouse, så du får SQL-frågor med höga prestanda och låg latens utan att hantera infrastrukturen.

SQL-analysslutpunkten är inte unik för lakehouses. Andra infrastrukturobjekt – inklusive warehouses, mirrored databaser, SQL-databaser och Azure Cosmos DB – etablerar också en SQL-analysslutpunkt automatiskt. Upplevelsen och begränsningarna är desamma för alla.

Skärmbild av SQL-analysslutpunkten för ett lakehouse som visar query editor- och tabelllistan.

Detta kan du göra

SQL-analysslutpunkten fungerar i skrivskyddat läge över Delta-tabeller – du kan inte infoga, uppdatera eller ta bort data via den. Om du vill ändra data växlar du till lakehouse och använder Apache Spark.

Inom den skrivskyddade gränsen kan du:

  • Query Delta-tabeller med T-SQL – Kör SELECT-instruktioner mot deltatabeller i lakehouse, inklusive tabeller som exponeras via shortcuts till externa Azure Data Lake Storage eller Amazon S3.
  • Skapa vyer, funktioner och lagrade procedurer – Kapsla in affärslogik och återanvändbara frågemönster i T-SQL-objekt som finns kvar i SQL-analysslutpunkten.
  • Tillämpa säkerhet på radnivå och objektnivå – Använd SQL-detaljerade behörigheter för att styra vilka användare som kan se vilka tabeller, kolumner eller rader.
  • Skapa Power BI-rapporter – Power BI-semantiska modeller kan ansluta till SQL-analysslutpunkten via dess TDS-slutpunkt (Tabular Data Stream), så att du kan skapa rapporter över dina lakehouse-data.
  • Fråga mellan arbetsytor – Använd OneLake-genvägar för att referera till Delta-tabeller i andra lakehouses eller lager och anslut dem sedan i en enda fråga. Fler scenarier mellan arbetsytor finns i Användningsfall för Lakehouse SQL-analysslutpunkter.

Anmärkning

Externa Delta-tabeller som skapats med Spark-kod är inte synliga för SQL-analysslutpunkten. Använd genvägar i avsnittet Tabeller för att göra externa Delta-tabeller synliga. Mer information finns i Skapa en genväg.

Anslut till SQL-analysslutpunkten

Du kan öppna SQL-analysslutpunkten på två sätt:

  • Från arbetsytan – I listan över arbetsyteobjekt letar du reda på SQL Analytics-slutpunktsobjektet (det har samma namn som ditt lakehouse) och väljer det.
  • Från Lakehouse Explorer – I det övre högra området i menyfliksområdet använder du listrutan för att växla till SQL-analysslutpunktsvyn.

Hur som helst öppnas query editor där du kan skriva och köra T-SQL-frågor mot dina Delta-tabeller.

Säkerhet

SQL-säkerhetsregler som anges på SQL-analysslutpunkten gäller endast när data nås via slutpunkten. De gäller inte när samma data nås via Spark eller andra verktyg.

Så här skyddar du dina data:

  • Ange SQL-detaljerade behörigheter på SQL-analysslutpunkten för att styra access till specifika tabeller, kolumner eller rader.
  • Ange roller och behörigheter för arbetsytans för att kontrollera vem som har åtkomst till lakehouse och dess data via andra sätt.

Mer information om säkerhetsmodellen finns i OneLake-säkerhet för SQL-analysslutpunkter.

Metadatasynkronisering

När du skapar eller uppdaterar en Delta-tabell i lakehouse identifierar SQL-analysslutpunkten automatiskt ändringen och uppdaterar dess SQL-metadata – tabelldefinitioner, kolumntyper och statistik. Det finns inget importsteg och ingen manuell synkronisering krävs. Du har flera alternativ för att initiera en uppdatering av SQL-analysslutpunktsmetadata manuellt.

Mer information finns i SQL Analytics-slutpunktsmetadatasynkronisering.

Omprovisionering

Om SQL-analysändpunkten misslyckas med att provisionera när du skapar ett lakehouse kan du försöka direkt från lakehouse-startsidan utan att skapa lakehouse igen.

Skärmbild som visar alternativet för att försöka etablera SQL-analysslutpunkter igen i lakehouse.

Anmärkning

Ometablering kan fortfarande misslyckas, precis som den inledande etableringen kan göra. Kontakta supporten om upprepade försök misslyckas.

Begränsningar

SQL-analysändpunkten delar sin motor med datalagret i Fabric, och de delar samma begränsningar.

Följande begränsningar gäller för automatisk schemagenerering och metadataidentifiering för SQL-analysslutpunkter.

  • Data ska vara i Delta Parquet-format för att kunna identifieras automatiskt i SQL-analysslutpunkten. Delta Lake är ett öppet källkodsramverk för lagring som möjliggör byggande av lakehouse-arkitektur.

  • Deltakolumnmappning efter namn stöds, men Delta-kolumnmappning efter ID stöds inte. Mer information finns i Delta Lake-funktioner och Fabric-upplevelser.

  • Deltatabeller som skapats /tables utanför mappen är inte tillgängliga i SQL-analysslutpunkten.

    Om du inte ser en lakehouse-tabell i SQL-analysändpunkten, kontrollera tabellens plats. Endast de tabeller som refererar till data i /tables mappen är tillgängliga i SQL-analysslutpunkten. Tabellerna som refererar till data i /files mappen i sjön exponeras inte i SQL-analysslutpunkten. Flytta dina data till /tables mappen som en lösning.

  • Vissa kolumner som finns i Spark Delta-tabellerna kanske inte är tillgängliga i tabellerna i SQL-analysslutpunkten. För varje Delta-tabell i Lakehouse genererar SQL-analysslutpunkten automatiskt en tabell med T-SQL-datatyper. Motorn för SQL-analysens slutpunkt baseras på Fabric Data Warehouse-motorn och använder samma datatyper. En fullständig lista över datatyper som stöds finns i Datatyper i Fabric Data Warehouse.

  • Om du lägger till en begränsning för sekundärnyckel mellan tabeller i SQL-analysslutpunkten kan du inte göra några ytterligare schemaändringar (till exempel lägga till de nya kolumnerna). Om du inte ser Delta Lake-kolumnerna med de typer som ska stödjas i SQL-analysslutpunkten kontrollerar du om det finns en begränsning för sekundärnyckel som kan förhindra uppdateringar i tabellen.

  • Information och rekommendationer om prestanda för SQL-analysslutpunkten finns i Prestandaöverväganden för SQL-analysslutpunkter.

  • Skalära UDF:ar stöds när de kan inlineras. Mer information finns i CREATE FUNCTION och Scalar UDF-inlining.

  • Varchar(max)-datatypen stöds endast i SQL-analysendpoints som aktiveras med den nya metadata-synkroniseringen.

Dataavkortning till 8 KB gäller fortfarande för tabellerna i SQL-analysändpunkten i lakehouse, inklusive genvägar till ett speglat objekt om SQL-analysändpunkten inte använder ny metadatasynkronisering.

Du kan kontrollera om en tabell har någon varchar(max) -kolumn från schemametadata med hjälp av följande T-SQL-fråga. max_length Värdet -1 representerar varchar(max):

SELECT o.name, c.name, type_name(user_type_id) AS [type], max_length
FROM sys.columns AS c
INNER JOIN sys.objects AS o
ON c.object_id = o.object_id
WHERE max_length = -1 
AND type_name(user_type_id) IN ('varchar', 'varbinary');
  • Scheman med namn som är i konflikt med systemscheman (till exempel sys eller information_schema) och databassäkerhetsobjekt (till exempel db_owner, db_datareader) stöds inte i SQL-analysslutpunkten. Tabeller under dessa scheman synkroniseras inte med SQL-analysslutpunkten.

  • En arbetsyta stöder upp till 150 lager- och SQL-analysslutpunktsobjekt tillsammans. Det går inte att skapa ytterligare objekt utöver den här gränsen. Ta bort ett befintligt objekt innan du skapar ett nytt.