Dela via


Felsöka Azure Synapse Analytics, Azure SQL Database, SQL Server, Azure SQL Managed Instance och Amazon RDS för SQL Server-anslutningsprogram i Azure Data Factory och Azure Synapse

GÄLLER FÖR: Azure Data Factory Azure Synapse Analytics

Dricks

Prova Data Factory i Microsoft Fabric, en allt-i-ett-analyslösning för företag. Microsoft Fabric omfattar allt från dataflytt till datavetenskap, realtidsanalys, business intelligence och rapportering. Lär dig hur du startar en ny utvärderingsversion kostnadsfritt!

Den här artikeln innehåller förslag på hur du felsöker vanliga problem med Azure Synapse Analytics, Azure SQL Database, SQL Server, Azure SQL Managed Instance och Amazon RDS för SQL Server-anslutningsappar i Azure Data Factory och Azure Synapse.

Felkod: SqlFailedToConnect

  • Meddelande: Cannot connect to SQL Database: '%server;', Database: '%database;', User: '%user;'. Check the linked service configuration is correct, and make sure the SQL Database firewall allows the integration runtime to access.

  • Orsaker och rekommendationer: Olika orsaker kan leda till det här felet. Kontrollera listan nedan för möjlig orsaksanalys och relaterad rekommendation.

    Orsaksanalys Rekommendation
    Om felmeddelandet för Azure SQL innehåller strängen "SqlErrorNumber=47073" innebär det att åtkomst till offentliga nätverk nekas i anslutningsinställningen. I Azure SQL-brandväggen anger du alternativet Neka åtkomst till offentligt nätverk till Nej. Mer information finns i Anslutningsinställningar för Azure SQL.
    Om felmeddelandet för Azure SQL innehåller en SQL-felkod som "SqlErrorNumber=[errorcode]" läser du felsökningsguiden för Azure SQL. En rekommendation finns i Felsöka anslutningsproblem och andra fel med Azure SQL Database och Azure SQL Managed Instance.
    Kontrollera om port 1433 finns i listan över tillåtna brandväggar. Mer information finns i Portar som används av SQL Server.
    Om felmeddelandet innehåller strängen "SqlException" anger SQL Database felet att en viss åtgärd misslyckades. Mer information finns i sök efter SQL-felkod i Databasmotorfel. Kontakta Azure SQL-supporten om du vill ha mer hjälp.
    Om det här är ett tillfälligt problem (till exempel en instable-nätverksanslutning) lägger du till ett nytt försök i aktivitetsprincipen för att minimera. Mer information finns i Pipelines och aktiviteter.
    Om felmeddelandet innehåller strängen "Klient med IP-adress ..." är inte tillåtet att komma åt servern", och du försöker ansluta till Azure SQL Database orsakas felet vanligtvis av ett azure SQL Database-brandväggsproblem. I Azure SQL Server-brandväggskonfigurationen aktiverar du alternativet Tillåt Azure-tjänster och resurser att få åtkomst till den här servern. Mer information finns i Azure SQL Database och Azure Synapse IP-brandväggsregler.
    Om felmeddelandet innehåller orsakas Login failed for user '<token-identified principal>'det här felet vanligtvis av att du inte ger tillräckligt med behörighet till tjänstens huvudnamn eller systemtilldelade hanterade identitet eller användartilldelade hanterade identiteter (beror på vilken autentiseringstyp du väljer) i databasen. Ge tillräckligt med behörighet till tjänstens huvudnamn eller systemtilldelade hanterade identitet eller användartilldelade hanterade identiteter i databasen.

    För Azure SQL Database:
        – Om du använder autentisering med tjänstens huvudnamn följer du autentisering med tjänstens huvudnamn.
        – Om du använder systemtilldelad hanterad identitetsautentisering följer du Systemtilldelad hanterad identitetsautentisering.
        – Om du använder användartilldelad hanterad identitetsautentisering följer du Användartilldelad hanterad identitetsautentisering.
       
    För Azure Synapse Analytics:
        – Om du använder autentisering med tjänstens huvudnamn följer du autentisering med tjänstens huvudnamn.
        – Om du använder systemtilldelad hanterad identitetsautentisering följer du Systemtilldelade hanterade identiteter för Azure-resursautentisering.
        – Om du använder användartilldelad hanterad identitetsautentisering följer du Användartilldelad hanterad identitetsautentisering.
       
    För Azure SQL Managed Instance:
        – Om du använder autentisering med tjänstens huvudnamn följer du autentisering med tjänstens huvudnamn.
       – Om du använder systemtilldelad hanterad identitetsautentisering följer du Systemtilldelad hanterad identitetsautentisering.
       – Om du använder användartilldelad hanterad identitetsautentisering följer du Användartilldelad hanterad identitetsautentisering.
    Om du får felmeddelandet som innehåller när du använder Azure SQL Managed Instance orsakas The server was not found or was not accessible det här felet vanligtvis av att den offentliga slutpunkten för Azure SQL Managed Instance inte aktiveras. Se Konfigurera offentlig slutpunkt i Azure SQL Managed Instance för att aktivera den offentliga slutpunkten för Azure SQL Managed Instance.

Felkod: SqlOperationFailed

  • Meddelande: A database operation failed. Please search error to get more details.

  • Orsaker och rekommendationer: Olika orsaker kan leda till det här felet. Kontrollera listan nedan för möjlig orsaksanalys och relaterad rekommendation.

    Orsaksanalys Rekommendation
    Om felmeddelandet innehåller strängen "SqlException" genererar SQL Database ett fel som anger att en viss åtgärd misslyckades. Om SQL-felet inte är tydligt kan du prova med att ändra databasen till den senaste kompatibilitetsnivån på 150. Den kan utlösa den senaste versionen av SQL-fel. Mer information finns i dokumentationen.
    Om du vill ha mer information om hur du felsöker SQL-problem kan du söka efter SQL-felkod i Databasmotorfel. Kontakta Azure SQL-supporten om du vill ha mer hjälp.
    Om felmeddelandet innehåller strängen "PdwManagedToNativeInteropException" orsakas det vanligtvis av ett matchningsfel mellan käll- och mottagarkolumnstorlekarna. Kontrollera storleken på både käll- och mottagarkolumnerna. Kontakta Azure SQL-supporten om du vill ha mer hjälp.
    Om felmeddelandet innehåller strängen "InvalidOperationException" orsakas det vanligtvis av ogiltiga indata. Om du vill identifiera vilken rad som har stött på problemet aktiverar du funktionen för feltolerans för kopieringsaktiviteten, som kan omdirigera problematiska rader till lagringen för vidare undersökning. Mer information finns i Feltolerans för kopieringsaktivitet.
    Om felmeddelandet innehåller "Tidsgränsen för körning har upphört att gälla" orsakas det vanligtvis av tidsgränsen för frågan. Konfigurera tidsgränsen för frågor i källan och Skriv batch-timeout i mottagaren för att öka tidsgränsen.
    Om felmeddelandet innehåller när du kopierar Cannot find the object "dbo.Contoso" because it does not exist or you do not have permissions. data från hybrid till en lokal SQL Server-tabell orsakas det av att det aktuella SQL-kontot inte har tillräcklig behörighet för att köra begäranden som utfärdats av .NET SqlBulkCopy.WriteToServer eller att tabellen eller databasen inte finns. Växla till ett mer privilegierat SQL-konto eller kontrollera om tabellen eller databasen finns.

Felkod: SqlUnauthorizedAccess

  • Meddelande: Cannot connect to '%connectorName;'. Detail Message: '%message;'

  • Orsak: Autentiseringsuppgifterna är felaktiga eller så kan inloggningskontot inte komma åt SQL-databasen.

  • Rekommendation: Kontrollera att inloggningskontot har tillräcklig behörighet för att komma åt SQL-databasen.

Felkod: SqlOpenConnectionTimeout

  • Meddelande: Open connection to database timeout after '%timeoutValue;' seconds.

  • Orsak: Problemet kan vara ett tillfälligt SQL-databasfel.

  • Rekommendation: Försök utföra åtgärden igen för att uppdatera den länkade tjänsten niska veze med ett större timeout-värde för anslutningen.

Felkod: SqlAutoCreateTableTypeMapFailed

  • Meddelande: Type '%dataType;' in source side cannot be mapped to a type that supported by sink side(column name:'%columnName;') in autocreate table.

  • Orsak: Autoskapningstabellen kan inte uppfylla källkravet.

  • Rekommendation: Uppdatera kolumntypen i mappningar eller skapa mottagartabellen manuellt på målservern.

Felkod: SqlDataTypeNotSupported

  • Meddelande: A database operation failed. Check the SQL errors.

  • Orsak: Om problemet uppstår i SQL-källan och felet är relaterat till SqlDateTime-spill överskrider datavärdet logiktypsintervallet (1/1/1753 12:00:00–12/31/9999 11:59:59 PM).

  • Rekommendation: Omvandla typen till strängen i SQL-källfrågan eller ändra kolumntypen till Sträng i kolumnmappningen för kopieringsaktivitet.

  • Orsak: Om problemet uppstår på SQL-mottagaren och felet är relaterat till SqlDateTime-spill överskrider datavärdet det tillåtna intervallet i mottagartabellen.

  • Rekommendation: Uppdatera motsvarande kolumntyp till typen datetime2 i mottagartabellen.

Felkod: SqlInvalidDbStoredProcedure

  • Meddelande: The specified Stored Procedure is not valid. It could be caused by that the stored procedure doesn't return any data. Invalid Stored Procedure script: '%scriptName;'.

  • Orsaker och rekommendationer: Olika orsaker kan leda till det här felet. Kontrollera listan nedan för möjlig orsaksanalys och relaterad rekommendation.

    Orsaksanalys Rekommendation
    Den angivna lagrade proceduren är ogiltig. Verifiera den lagrade proceduren med hjälp av SQL Tools. Kontrollera att den lagrade proceduren kan returnera data.
    Sökningsaktiviteten kräver att den lagrade proceduren returnerar ett visst värde, men den lagrade procedurkoden returnerar inget värde. Använd aktiviteten Lagrad procedur om den lagrade proceduren förväntas returnera inga data.

Felkod: SqlInvalidDbQueryString

  • Meddelande: The specified SQL Query is not valid. It could be caused by that the query doesn't return any data. Invalid query: '%query;'

  • Orsak: Den angivna SQL-frågan är ogiltig. Orsaken kan vara att frågan inte returnerar några data.

  • Rekommendation: Verifiera SQL-frågan med hjälp av SQL Tools. Kontrollera att frågan kan returnera data.

Felkod: SqlInvalidColumnName

  • Meddelande: Column '%column;' does not exist in the table '%tableName;', ServerName: '%serverName;', DatabaseName: '%dbName;'.

  • Orsak: Det går inte att hitta kolumnen eftersom konfigurationen kan vara felaktig.

  • Rekommendation: Verifiera kolumnen i frågan, strukturen i datamängden och mappningarna i aktiviteten.

Felkod: SqlBatchWriteTimeout

  • Meddelande: Timeouts in SQL write operation.

  • Orsak: Problemet kan orsakas av ett tillfälligt SQL-databasfel.

  • Rekommendation: Försök utföra åtgärden igen. Kontakta Azure SQL-supporten om problemet kvarstår.

Felkod: SqlBatchWriteTransactionFailed

  • Meddelande: SQL transaction commits failed.

  • Orsak: Om undantagsinformationen ständigt anger en tidsgräns för transaktioner är nätverksfördröjningen mellan integrationskörningen och databasen större än standardtröskelvärdet på 30 sekunder.

  • Rekommendation: Uppdatera den SQL-länkade tjänsten niska veze med ett timeout-värde för anslutningen som är lika med eller större än 120 och kör aktiviteten igen.

  • Orsak: Om undantagsinformationen tillfälligt anger att SQL-anslutningen är bruten kan det vara ett tillfälligt nätverksfel eller ett problem på SQL-databassidan.

  • Rekommendation: Försök igen och granska måtten på SQL-databassidan.

Felkod: SqlBulkCopyInvalidColumnLength

  • Meddelande: SQL Bulk Copy failed due to receive an invalid column length from the bcp client.

  • Orsak: SQL Bulk Copy misslyckades eftersom den tog emot en ogiltig kolumnlängd från klientprogrammet för masskopieringsprogram (bcp).

  • Rekommendation: Om du vill identifiera vilken rad som har stött på problemet aktiverar du funktionen för feltolerans för kopieringsaktiviteten. Detta kan omdirigera problematiska rader till lagringen för ytterligare undersökning. Mer information finns i Feltolerans för kopieringsaktivitet.

Felkod: SqlConnectionIsClosed

  • Meddelande: The connection is closed by SQL Database.

  • Orsak: SQL-anslutningen stängs av SQL-databasen när en hög samtidig körning och servern avslutar anslutningen.

  • Rekommendation: Försök ansluta igen. Kontakta Azure SQL-supporten om problemet kvarstår.

Felkod: SqlServerInvalidLinkedServiceCredentialMissing

  • Meddelande: The SQL Server linked service is invalid with its credential being missing.

  • Orsak: Den länkade tjänsten har inte konfigurerats korrekt.

  • Rekommendation: Verifiera och åtgärda den länkade SQL Server-tjänsten.

Felkod: SqlParallelFailedToDetectPartitionColumn

  • Meddelande: Failed to detect the partition column with command '%command;', %message;.

  • Orsak: Det finns ingen primärnyckel eller unik nyckel i tabellen.

  • Rekommendation: Kontrollera tabellen för att kontrollera att en primärnyckel eller ett unikt index har skapats.

Felkod: SqlParallelFailedToDetectPhysicalPartitions

  • Meddelande: Failed to detect the physical partitions with command '%command;', %message;.

  • Orsak: Inga fysiska partitioner skapas för tabellen. Kontrollera databasen.

  • Rekommendation: Referera till Skapa partitionerade tabeller och index för att lösa det här problemet.

Felkod: SqlParallelFailedToGetPartitionRangeSynapse

  • Meddelande: Failed to get the partitions for azure synapse with command '%command;', %message;.

  • Orsak: Inga fysiska partitioner skapas för tabellen. Kontrollera databasen.

  • Rekommendation: Referera till partitioneringstabeller i en dedikerad SQL-pool för att lösa det här problemet.

Felmeddelande: Konverteringen misslyckades vid konvertering från en teckensträng till unikidentifierare

  • Symptom: När du kopierar data från en tabelldatakälla (till exempel SQL Server) till Azure Synapse Analytics med mellanlagrad kopiering och PolyBase får du följande fel:

    ErrorCode=FailedDbOperation,Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException, Message=Error happened when loading data into Azure Synapse Analytics., Source=Microsoft.DataTransfer.ClientLibrary,Type=System.Data.SqlClient.SqlException, Message=Conversion failed when converting from a character string to uniqueidentifier...

  • Orsak: Azure Synapse Analytics PolyBase kan inte konvertera en tom sträng till ett GUID.

  • Lösning: I kopieringsaktivitetsmottagaren under PolyBase-inställningar anger du standardalternativet för användningstyp till false.

Felmeddelande: Förväntad datatyp: DECIMAL(x,x), Felande värde

  • Symptom: När du kopierar data från en tabelldatakälla (till exempel SQL Server) till Azure Synapse Analytics med hjälp av mellanlagrad kopiering och PolyBase får du följande fel:

    ErrorCode=FailedDbOperation,Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException, Message=Error happened when loading data into Azure Synapse Analytics., Source=Microsoft.DataTransfer.ClientLibrary,Type=System.Data.SqlClient.SqlException, Message=Query aborted-- the maximum reject threshold (0 rows) was reached while reading from an external source: 1 rows rejected out of total 415 rows processed. (/file_name.txt) Column ordinal: 18, Expected data type: DECIMAL(x,x), Offending value:..

  • Orsak: Azure Synapse Analytics PolyBase kan inte infoga en tom sträng (null-värde) i en decimalkolumn.

  • Lösning: I kopieringsaktivitetsmottagaren under PolyBase-inställningar anger du standardalternativet för användningstyp till false.

Felmeddelande: Java-undantagsmeddelande: HdfsBridge::CreateRecordReader

  • Symptom: Du kopierar data till Azure Synapse Analytics med hjälp av PolyBase och får följande fel:

    Message=110802;An internal DMS error occurred that caused this operation to fail. Details: Exception: Microsoft.SqlServer.DataWarehouse.DataMovement.Common.ExternalAccess.HdfsAccessException, Message: Java exception raised on call to HdfsBridge_CreateRecordReader. Java exception message:HdfsBridge::CreateRecordReader - Unexpected error encountered creating the record reader.: Error [HdfsBridge::CreateRecordReader - Unexpected error encountered creating the record reader.] occurred while accessing external file.....

  • Orsak: Orsaken kan vara att schemat (total kolumnbredd) är för stort (större än 1 MB). Kontrollera schemat för Azure Synapse Analytics-måltabellen genom att lägga till storleken på alla kolumner:

    • Int = 4 byte
    • Bigint = 8 byte
    • Varchar(n), char(n), binary(n), varbinary(n) = n bytes
    • Nvarchar(n), nchar(n) = n*2 byte
    • Datum = 6 byte
    • Datetime/(2), smalldatetime = 16 byte
    • Datetimeoffset = 20 byte
    • Decimal = 19 byte
    • Float = 8 byte
    • Pengar = 8 byte
    • Smallmoney = 4 byte
    • Real = 4 byte
    • Smallint = 2 byte
    • Tid = 12 byte
    • Tinyint = 1 byte
  • Lösning:

    • Minska kolumnbredden till mindre än 1 MB.
    • Eller använd en massinfogningsmetod genom att inaktivera PolyBase.

Felmeddelande: Villkoret som anges med http-villkorliga huvuden uppfylls inte

  • Symptom: Du använder SQL-fråga för att hämta data från Azure Synapse Analytics och får följande fel:

    ...StorageException: The condition specified using HTTP conditional header(s) is not met...

  • Orsak: Azure Synapse Analytics stötte på ett problem när den externa tabellen i Azure Storage efterfrågas.

  • Lösning: Kör samma fråga i SQL Server Management Studio (SSMS) och kontrollera om du får samma resultat. Om du gör det öppnar du ett supportärende till Azure Synapse Analytics och anger din Azure Synapse Analytics-server och ditt databasnamn.

Prestandanivån är låg och leder till kopieringsfel

  • Symptom: Du kopierar data till Azure SQL Database och får följande fel: Database operation failed. Error message from database execution : ExecuteNonQuery requires an open and available Connection. The connection's current state is closed.

  • Orsak: Azure SQL Database s1 har nått gränsen för indata/utdata (I/O).

  • Lösning: Uppgradera prestandanivån för Azure SQL Database för att åtgärda problemet.

Felmeddelande: Sträng- eller binärdata trunkeras

  • Symptom: Ett fel uppstår när du kopierar data till en lokal Azure SQL Server-tabell.

  • Orsak: SQL-tabellschemadefinitionen har en eller flera kolumner med mindre längd än förväntat.

  • Lösning: Försök med följande för att lösa problemet:

    1. Om du vill felsöka vilka rader som har problemet använder du feltolerans för SQL-mottagare, särskilt redirectIncompatibleRowSettings.

      Kommentar

      Feltolerans kan kräva ytterligare körningstid, vilket kan leda till högre kostnader.

    2. Dubbelkolla omdirigerade data mot sql-tabellschemats kolumnlängd för att se vilka kolumner som behöver uppdateras.

    3. Uppdatera tabellschemat i enlighet med detta.

Felkod: FailedDbOperation

  • Meddelande: User does not have permission to perform this action.

  • Rekommendation: Kontrollera att användaren som konfigurerats i Azure Synapse Analytics-anslutningsappen måste ha behörigheten "CONTROL" på måldatabasen när du använder PolyBase för att läsa in data. Mer detaljerad information finns i det här dokumentet.

Felkod: Msg 105208

  • Symptom: Felkod: Error code: Msg 105208, Level 16, State 1, Line 1 COPY statement failed with the following error when validating value of option 'FROM': '105200;COPY statement failed because the value for option 'FROM' is invalid.'
  • Orsak: För närvarande resulterar inmatning av data med kommandot COPY till ett Azure Storage-konto som använder den nya DNS-partitioneringsfunktionen i ett fel. Med funktionen DNS-partition kan kunder skapa upp till 5 000 lagringskonton per prenumeration.
  • Lösningar: Etablera ett lagringskonto i en prenumeration som inte använder den nya DNS-partitionsfunktionen för Azure Storage (för närvarande i offentlig förhandsversion).

Felkod: SqlDeniedPublicAccess

  • Meddelande: Cannot connect to SQL Database: '%server;', Database: '%database;', Reason: Connection was denied since Deny Public Network Access is set to Yes. To connect to this server, 1. If you persist public network access disabled, please use Managed Vritual Network IR and create private endpoint. https://docs.microsoft.com/en-us/azure/data-factory/managed-virtual-network-private-endpoint; 2. Otherwise you can enable public network access, set "Public network access" option to "Selected networks" on Azure SQL Networking setting.

  • Orsaker: Azure SQL Database är inställt på att neka åtkomst till offentligt nätverk. Detta kräver att du använder ett hanterat virtuellt nätverk och skapar en privat slutpunkt för åtkomst.

  • Rekommendation:

    1. Om du insisterar på att inaktivera offentlig nätverksåtkomst använder du integreringskörningen för hanterade virtuella nätverk och skapar en privat slutpunkt. Mer information finns i Hanterat virtuellt Azure Data Factory-nätverk.

    2. Annars aktiverar du åtkomst till offentligt nätverk genom att ange alternativet Åtkomst till offentligt nätverk på inställningssidan För valda nätverk i Azure SQL Database-nätverk.

Om du vill ha mer felsökningshjälp kan du prova dessa resurser: