Dela via


Felsöka vanliga frågefel

Gäller för: Azure Synapse Analytics

Obs!

Granska listan över kända problem som för närvarande är aktiva eller nyligen lösta i Azure Synapse Analytics.

Använd följande vägledning för att felsöka vanliga fel, fel och undantag som inträffar när du kör frågor mot din dedikerade Sql-pool i Azure Synapse.

Vanliga fel

Fel Orsak Riskreducering
Could not allocate a new page for database 'Distribution_nn' because of insufficient disk space in filegroup 'PRIMARY'. Tabeller med radlagringsindex (inte kolumnarkiv) och/eller heaps har överskridit tillgängligt utrymme i minst en fördelning. - Öka databasens maxstorlek.
- Utvärdera tabeller för skevhet.
Error 8632 - Internal error: An expression services limit has been reached. Look for potentially complex expressions in your query, and try to simplify them. Frågan är för komplex för optimering. Dela upp frågan i flera steg.
Database 'Distribution_nn_Cache' cannot be opened due to inaccessible files or insufficient memory or disk space. Anger ett problem med tjänststatus. Pausa och återuppta din dedikerade SQL-pool.
Unable to allocate n KB for columnstore compression because it exceeds the remaining memory from total allocated for current resource class and DWU. Otillräckligt minne för skrivåtgärd. - Öka användarens resursklass.
– Överväg att tillfälligt öka servicenivåmålet (SLO).
Internal error (5123, 50) Inträffar på grund av I/O-åtgärder med hög volym. - Öka användarens resursklass.
– Minska antalet partitioner i tabellen.
- Återskapa CCI-tabeller.
Failed to execute query. Error: MSDTC on server '{NAME}' is unavailable Tjänsten som hanterar globala transaktioner fungerar inte på rätt sätt. Pausa och återuppta din dedikerade SQL-pool för omedelbar åtgärd. Kontakta supporten om problemet uppstår igen.
110806; A distributed query failed: Execution Timeout Expired. The timeout period elapsed prior to completion of the operation or the server isn't responding Tidsgräns för intern metadatahämtning. Ersätt frågereferenser till sys.pdw_table_mappings med sys.pdw_permanent_table_mappings eftersom det är mer högpresterande.
110806; A distributed query failed: ExecuteNonQuery requires an open and available Connection. The connection's current state is open. Internt frågefel som anger anslutningsproblem mellan beräkningsnoder. – Försök igen eftersom det här problemet vanligtvis löser sig självt.
– Pausa och återuppta din dedikerade SQL-pool om problemet kvarstår.
– Kontakta supporten om problemets frekvens ökar.
110806; A distributed query failed: Operation not allowed. Internt frågefel indikerar vanligtvis resursbelastning. – Försök igen eftersom det här problemet vanligtvis löser sig självt.
– Pausa och återuppta din dedikerade SQL-pool om problemet kvarstår.
- Uppdatera statistik och återskapa CCI:er.
- Överväg att öka SLO. Kontakta supporten om problemet kvarstår efter att SLO har ökats.
110806; A distributed query failed: Could not allocate space for object '<ObjectName' in database 'tempdb' because the 'PRIMARY' filegroup is full. En fråga eller serie frågor har fyllts tempdb på minst en beräkningsnod. Se hur du felsöker tempdb-fel i en dedikerad SQL-pool.
110802; An internal DMS error occurred that caused this operation to fail. Details: Please use this Error ID when contacting your Administrator for assistance. EID:(ErrorID) Frågefel under DMS-åtgärden på grund av otillräckliga resurser. - Öka användarens resursklass så att den matchar arbetsbelastningen.
– Granska och implementera åtgärder för att förhindra tempdb-fyllning.
110802; An internal DMS error occurred that caused this operation to fail. ... Java exception message: HdfsBridge::createRecordWriter - Unexpected error encountered when creating a record writer: ClassCastException: Inträffar under CREATE EXTERNAL TABLE AS SELECT -instruktionen EXTERNAL DATA SOURCE när den skapas med intern datavirtualisering mot en källa som inte stöds. Ange TYPE = Hadoop när du skapar den externa datakällan.
110802; An internal DMS error occurred that caused this operation to fail. ... Java exception message: HdfsBridge::CreateRecordReader - Unexpected error encountered creating the record reader: ConnectException: Connection timed out: Det finns inte tillräckligt med minnesresurser för att köra frågan. Öka användarens resursklass så att den matchar arbetsbelastningen.
100088: The query processor could not produce a query plan because the target DML table is not hash partitioned DML-scenario för distribuerad tabell som inte stöds:
- DELETE från RR med PRIMARY eller UNIQUE nyckel
- UPDATE använder en rangordningsfunktion, till exempel ROW_NUMBER, RANKeller DENSE_RANK för att bestämma rader som ska uppdateras i måltabellen.
- DELETE + PK/UK-scenario: Drop PK/UK och ta sedan bort dubblettrader.
- UPDATE + rankningsfunktionsscenario:
  • Ändra måltabelldistributionstypen till HASH.
  • Utför DELETE + INSERT i stället för UPDATE.
35386. Error Message: Unable to allocate 370216 {NAME} for columnstore compression because it exceeds the remaining memory from total allocated for current resource class and DWU Frågan som ändrar eller hanterar en tabell med ett grupperat kolumnlagringsindex har inte tillräckligt med minne för att slutföra uppgiften. - Öka användarens resursklass så att den matchar arbetsbelastningen.
- Överväg att öka SLO.

Oväntade beteenden

Observation Rekommendation
Syntaxfel Kontrollera referensen för T-SQL-syntax eftersom det finns skillnader för dedikerade SQL-pooler.
Primära nycklar och unika nycklar tillämpas inte. Primära nycklar och unika begränsningar framtvingar inte konsekvens i Synapse Analytics. Frågeoptimeraren kan dock dra nytta av nyckeln för att förbättra frågeprestandan.
USE-instruktionen misslyckas. -instruktionen USE stöds inte i den dedikerade SQL-poolen. Anslut till den dedikerade Synapse SQL-poolen direkt i anslutningssträng.
Tidsgränsfel för avbruten fråga eller körning. – Kontrollera det timeout-värde som konfigurerats i klientprogrammet.
– Konfigurera parametern QUERY_EXECUTION_TIMEOUT_SEC i GRUPPEN SKAPA ARBETSBELASTNING.
Inkonsekventa eller oväntade resultat. – Om dina data innehåller specialtecken eller använder olika textkodningar använder du Unicode-datatyper som NCHAR och NVARCHAR.
– Kontrollera om frågan används GETDATE() i WHERE satsen eller JOIN åtgärderna. Använd en variabel för att lagra datumet och använd det sedan i variabeln.
– Kontrollera om frågan använder ROW_NUMBER() funktionen i WHERE satsen eller JOIN åtgärderna. Använd en temporär tabell för att lagra funktionsresultatet ROW_NUMBER() och koppla sedan till andra tabeller.
– Databaser med en icke-standardsortering kan påverka beteendet för frågor och visa oväntade resultat när de interagerar med andra verktyg än Microsoft.
Obs! Standarddatabassortering kan inte ändras när den dedikerade SQL-poolen har skapats. Mer information om sorteringsstöd finns i Stöd för databassortering för Azure Synapse Analytics Dedikerad SQL-pool.
Oväntade dubblettrader. PRIMARY KEY Släpp tabellen och sök sedan efter dubbletter.
Frågor hänger sig eller så finns det långvariga frågor. Använd vår artikel för att felsöka en långsam fråga i en dedikerad SQL-pool.
Den uppskattade frågeplanen eliminerar inte relevanta partitioner som förväntat. Detta är avsiktligt. Den uppskattade frågeplanen som genereras av kontrollnoden tar inte hänsyn till sökpredikaten, men det gör de enskilda distributionsplanerna på beräkningsnoderna.
Det går inte att referera till vyer i en materialiserad vy. Materialiserade vyer stöder inte frågor mot andra vyer. Kontrollera begränsningarna för materialiserade vyer.
Inkonsekventa varaktigheter vid frågor mot externa tabeller. Externa tabeller är inte optimala för slutanvändarfrågor. Överväg i stället att läsa in data i permanenta tabeller för att fråga eller växla arbetsbelastningen för att använda serverlösa pooler för en mer konsekvent upplevelse.

Resurser