Problemen met de Azure Synapse Analytics, Azure SQL Database, SQL Server, Azure SQL Managed Instance en Amazon RDS voor SQL Server-connectors oplossen in Azure Data Factory en Azure Synapse

Van toepassing op: Azure Data Factory Azure Synapse Analytics

Aanbeveling

Data Factory in Microsoft Fabric is de volgende generatie van Azure Data Factory, met een eenvoudigere architectuur, ingebouwde AI en nieuwe functies. Als u nieuw bent in gegevensintegratie, begint u met Fabric Data Factory. Bestaande ADF-workloads kunnen upgraden naar Fabric om toegang te krijgen tot nieuwe mogelijkheden voor gegevenswetenschap, realtime analyses en rapportage.

Dit artikel bevat suggesties voor het oplossen van veelvoorkomende problemen met de Azure Synapse Analytics, Azure SQL Database, SQL Server, Azure SQL Managed Instance en Amazon RDS voor SQL Server-connectors in Azure Data Factory en Azure Synapse.

Foutcode: SqlFailedToConnect

  • Bericht: 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.

  • Oorzaken en aanbevelingen: Verschillende oorzaken kunnen tot deze fout leiden. Controleer de volgende lijst op mogelijke oorzaakanalyse en gerelateerde aanbevelingen.

    Oorzaakanalyse Aanbeveling
    Als het foutbericht voor Azure SQL de tekenreeks 'SqlErrorNumber=47073' bevat, betekent dit dat openbare netwerktoegang wordt geweigerd in de connectiviteitsinstelling. Stel op de Azure SQL firewall de optie Blokkeer toegang tot openbare netwerken in op Nee. Zie Azure SQL-verbindingsinstellingen voor meer informatie.
    Als het foutbericht een SQL-foutcode bevat, zoals 'SqlErrorNumber=[errorcode]', raadpleegt u de Azure SQL gids voor probleemoplossing voor Azure SQL. Zie Verbindingsproblemen en andere fouten met Azure SQL Database en Azure SQL Managed Instance voor een aanbeveling.
    Controleer of poort 1433 zich in de acceptatielijst van de firewall bevindt. Zie Ports die worden gebruikt door SQL Server voor meer informatie.
    Als het foutbericht de tekenreeks SqlException bevat, geeft sql Database aan dat een bepaalde specifieke bewerking is mislukt. Zoek voor meer informatie naar de SQL-foutcode in Database-enginefouten. Neem voor meer hulp contact op met Azure SQL ondersteuning.
    Als dit een tijdelijk probleem is (bijvoorbeeld een instabiele netwerkverbinding), voegt u het beleid voor opnieuw proberen toe om dit te verhelpen. Zie Pijplijnen en activiteiten voor meer informatie.
    Als het foutbericht de tekenreeks 'Client met IP-adres “...”, is niet toegestaan om toegang tot de server te krijgen' bevat, en u probeert verbinding te maken met Azure SQL Database, wordt de fout meestal veroorzaakt door een firewallprobleem met Azure SQL Database. Schakel in de Azure SQL Server firewallconfiguratie de optie Toegestane Azure-diensten en -resources om toegang tot deze server te verkrijgen in. Zie Azure SQL Database en Azure Synapse IP-firewallregels voor meer informatie.
    Als het foutbericht dit bevat Login failed for user '<token-identified principal>', wordt deze fout meestal veroorzaakt door onvoldoende machtigingen te verlenen aan uw service-principal of door het systeem toegewezen beheerde identiteit of door de gebruiker toegewezen beheerde identiteit (is afhankelijk van welk verificatietype u kiest) in uw database. Verleen voldoende machtigingen aan uw serviceprincipal, systeemtoegewezen beheerde identiteit of gebruikertoegwezen beheerde identiteit in uw database.

    Voor Azure SQL Database:
        - Als u verificatie van de service-principal gebruikt, raadpleeg dan de handleiding 'Service principal-authenticatie'.
        - Als u door het systeem toegewezen beheerde identiteitsverificatie gebruikt, volgt Systeem-toegewezen beheerde identiteitsverificatie.
        - Als u door de gebruiker toegewezen beheerde identiteit gebruikt, volgt u door de gebruiker toegewezen beheerde identiteit.
       
    Voor Azure Synapse Analytics:
        - Als u verificatie van de service-principal gebruikt, raadpleeg dan de handleiding 'Service principal-authenticatie'.
        - Als u systeemtoegewezen beheerde identiteit-authenticatie gebruikt, volgt u Systeemtoegewezen beheerde identiteiten voor authenticatie van Azure-resources.
        - Als u door de gebruiker toegewezen beheerde identiteit gebruikt, volgt u door de gebruiker toegewezen beheerde identiteit.
       
    Voor Azure SQL Managed Instance:
        - Als u verificatie van de service-principal gebruikt, raadpleeg dan de handleiding 'Service principal-authenticatie'.
       - Als u door het systeem toegewezen beheerde identiteitsverificatie gebruikt, volgt Systeem-toegewezen beheerde identiteitsverificatie.
       - Als u door de gebruiker toegewezen beheerde identiteit gebruikt, volgt u door de gebruiker toegewezen beheerde identiteit.
    Als u de foutmelding tegenkomt die The server was not found or was not accessible bevat bij het gebruik van Azure SQL Managed Instance, wordt deze fout meestal veroorzaakt doordat het publieke eindpunt van Azure SQL Managed Instance niet is ingeschakeld. Raadpleeg Openbare eindpunt configureren in Azure SQL Managed Instance om het Azure SQL Managed Instance openbare eindpunt in te schakelen.

Foutcode: SqlOperationFailed

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

  • Oorzaken en aanbevelingen: Verschillende oorzaken kunnen tot deze fout leiden. Controleer de volgende lijst op mogelijke oorzaakanalyse en gerelateerde aanbevelingen.

    Oorzaakanalyse Aanbeveling
    Als het foutbericht de tekenreeks SqlException bevat, genereert SQL Database een fout die aangeeft dat een bepaalde specifieke bewerking is mislukt. Als de SQL-fout niet duidelijk is, probeert u de database te wijzigen in het meest recente compatibiliteitsniveau '150'. De nieuwste versie kan SQL-fouten genereren. Zie de -documentatie voor meer informatie.
    Zoek op SQL-foutcode in database-enginefouten voor meer informatie over het oplossen van SQL-problemen. Neem voor meer hulp contact op met Azure SQL ondersteuning.
    Als het foutbericht de tekenreeks 'PdwManagedToNativeInteropException' bevat, wordt dit meestal veroorzaakt door een verschil tussen de bron- en doelkolomgrootten. Controleer de grootte van de bron- en sinkkolommen. Neem voor meer hulp contact op met Azure SQL ondersteuning.
    Als het foutbericht de tekenreeks InvalidOperationException bevat, wordt dit meestal veroorzaakt door ongeldige invoergegevens. Als u wilt bepalen welke rij het probleem heeft aangetroffen, schakelt u de functie fouttolerantie in voor de kopieeractiviteit, waarmee problematische rijen naar de opslag kunnen worden omgeleid voor verder onderzoek. Zie Fouttolerantie van kopieeractiviteit voor meer informatie.
    Als het foutbericht 'Uitvoerings-time-out is verlopen' bevat, wordt dit meestal veroorzaakt door een query-time-out. Configureer de time-out van query's in de bron en schrijf batchtime-out in de sink om de time-out te verhogen.
    Als het foutbericht Cannot find the object "dbo.Contoso" because it does not exist or you do not have permissions. bevat wanneer u gegevens kopieert van hybride naar een on-premises SQL Server tabel, wordt dit veroorzaakt doordat het huidige SQL-account niet over voldoende machtigingen beschikt om aanvragen uit te voeren die zijn uitgegeven door .NET SqlBulkCopy.WriteToServer of uw tabel of database niet bestaat. Schakel over naar een meer bevoegd SQL-account of controleer of uw tabel of database bestaat.

Foutcode: SqlUnauthorizedAccess

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

  • Oorzaak: de referenties zijn onjuist of het aanmeldingsaccount heeft geen toegang tot de SQL-database.

  • Aanbeveling: Controleer of het aanmeldingsaccount voldoende machtigingen heeft voor toegang tot de SQL-database.

Foutcode: SqlOpenConnectionTimeout

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

  • Oorzaak: Het probleem kan een tijdelijke fout in de SQL-database zijn.

  • Aanbeveling: probeer de bewerking opnieuw uit te voeren om de verbonden service connection string bij te werken met een grotere verbindingstime-outwaarde.

Foutcode: SqlAutoCreateTableTypeMapFailed

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

  • Oorzaak: De tabel voor automatisch maken kan niet voldoen aan de bronvereiste.

  • Aanbeveling: Werk het kolomtype in toewijzingen bij of maak handmatig de sinktabel op de doelserver.

Foutcode: SqlDataTypeNotSupported

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

  • Oorzaak: Als het probleem optreedt in de SQL-bron en de fout te maken heeft met sqlDateTime-overloop, overschrijdt de gegevenswaarde het bereik van het logische type (1-1-1753 12:00:00 - 12-31-9999 11:59:59 PM).

  • Aanbeveling: Cast het type naar de String in de SQL-bronquery of wijzig in de kolomtoewijzing van de kopieeractiviteit het kolomtype in String.

  • Oorzaak: Als het probleem optreedt in de SQL-sink en de fout te maken heeft met sqlDateTime-overloop, overschrijdt de gegevenswaarde het toegestane bereik in de sinktabel.

  • Aanbeveling: Werk het bijbehorende kolomtype bij naar het datum/tijd2-type in de sinktabel.

Foutcode: SqlInvalidDbStoredProcedure

  • Bericht: 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;'.

  • Oorzaken en aanbevelingen: Verschillende oorzaken kunnen tot deze fout leiden. Controleer de volgende lijst op mogelijke oorzaakanalyse en gerelateerde aanbevelingen.

    Oorzaakanalyse Aanbeveling
    De opgegeven opgeslagen procedure is ongeldig. Valideer de opgeslagen procedure met behulp van SQL Tools. Zorg ervoor dat de opgeslagen procedure gegevens kan retourneren.
    De opzoekactiviteit vereist dat de opgeslagen procedure een bepaalde waarde retourneert, maar de opgeslagen procedurecode retourneert geen waarde. Gebruik de activiteit Opgeslagen procedure als de opgeslagen procedure naar verwachting geen gegevens retourneert.

Foutcode: SqlInvalidDbQueryString

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

  • Oorzaak: de opgegeven SQL-query is ongeldig. De oorzaak kan zijn dat de query geen gegevens retourneert.

  • Aanbeveling: Valideer de SQL-query met behulp van SQL Tools. Zorg ervoor dat de query gegevens kan retourneren.

Foutcode: SqlInvalidColumnName

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

  • Oorzaak: De kolom kan niet worden gevonden omdat de configuratie mogelijk onjuist is.

  • Aanbeveling: Controleer de kolom in de query, de structuur in de gegevensset en de toewijzingen in de activiteit.

Foutcode: SqlBatchWriteTimeout

  • Bericht: Timeouts in SQL write operation.

  • Oorzaak: Het probleem kan worden veroorzaakt door een tijdelijke fout in de SQL-database.

  • Aanbeveling: Voer de bewerking opnieuw uit. Als het probleem zich blijft voordoen, neemt u contact op met Azure SQL ondersteuning.

Foutcode: SqlBatchWriteTransactionFailed

  • Bericht: SQL transaction commits failed.

  • Oorzaak: Als uitzonderingsdetails voortdurend duiden op een time-out voor een transactie, is de netwerklatentie tussen de integratieruntime en de database groter dan de standaarddrempel van 30 seconden.

  • Aanbeveling: Werk de SQL-verbindingsreeks van de gelinkte service bij met een verbindings-time-out waarde die gelijk is aan of groter is dan 120 seconden en voer de activiteit opnieuw uit.

  • Oorzaak: Als de uitzonderingsdetails af en toe aangeven dat de SQL-verbinding is verbroken, kan dit een tijdelijke netwerkfout of een probleem aan de zijde van de SQL-database zijn.

  • Aanbeveling: voer de activiteit opnieuw uit en controleer de metrische gegevens aan de sql-databasezijde.

Foutcode: SqlBulkCopyInvalidColumnLength

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

  • Oorzaak: SQL Bulk Copy is mislukt omdat deze een ongeldige kolomlengte heeft ontvangen van de BCP-hulpprogrammaclient (bulkkopieprogramma).

  • Aanbeveling: Als u wilt bepalen welke rij het probleem heeft aangetroffen, schakelt u de functie fouttolerantie in voor de kopieeractiviteit. Dit kan problematische rijen omleiden naar de opslag voor verder onderzoek. Zie Fouttolerantie van kopieeractiviteit voor meer informatie.

Foutcode: SqlConnectionIsClosed

  • Bericht: The connection is closed by SQL Database.

  • Oorzaak: De SQL-verbinding wordt door de SQL-database gesloten wanneer er een hoge gelijktijdige uitvoering plaatsvindt en de server de verbinding beëindigt.

  • Aanbeveling: Voer de verbinding opnieuw uit. Als het probleem zich blijft voordoen, neemt u contact op met Azure SQL ondersteuning.

Foutcode: SqlServerInvalidLinkedServiceCredentialMissing

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

  • Oorzaak: De gekoppelde service is niet juist geconfigureerd.

  • Aanbeveling: De gekoppelde SQL-serverservice valideren en herstellen.

Foutcode: SqlParallelFailedToDetectPartitionColumn

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

  • Oorzaak: Er is geen primaire sleutel of unieke sleutel in de tabel.

  • Aanbeveling: Controleer de tabel om ervoor te zorgen dat er een primaire sleutel of een unieke index wordt gemaakt.

Foutcode: SqlParallelNiet-GeluktOmFysiekePartitiesTeDetecteren

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

  • Oorzaak: Er worden geen fysieke partities gemaakt voor de tabel. Controleer uw database.

  • Aanbeveling: Verwijzing naar gepartitioneerde tabellen en indexen maken om dit probleem op te lossen.

Foutcode: SqlParallelFailedToGetPartitionRangeSynapse

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

  • Oorzaak: Er worden geen fysieke partities gemaakt voor de tabel. Controleer uw database.

  • Aanbeveling: Verwijs naar partitioneringstabellen in een toegewezen SQL-pool om dit probleem op te lossen.

Foutbericht: conversie is mislukt bij het converteren van een tekenreeks naar uniqueidentifier

  • Symptomen: Wanneer u gegevens kopieert uit een gegevensbron in tabelvorm (zoals SQL Server) naar Azure Synapse Analytics met behulp van gefaseerde kopie en PolyBase, wordt de volgende fout weergegeven:

    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...

  • Cause: Azure Synapse Analytics PolyBase kan een lege tekenreeks niet converteren naar een GUID.

  • Oplossing: Stel in de sink voor de kopieeractiviteit binnen de PolyBase-instellingen de optie 'type standaard gebruiken' in op false.

Foutmelding: Verwacht gegevenstype: DECIMAL(x,x), Ongeldige waarde

  • Symptomen: Wanneer u gegevens kopieert uit een gegevensbron in tabelvorm (zoals SQL Server) naar Azure Synapse Analytics met behulp van gefaseerde kopie en PolyBase, wordt de volgende fout weergegeven:

    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:..

  • Cause: Azure Synapse Analytics PolyBase kan geen lege tekenreeks (null-waarde) invoegen in een decimale kolom.

  • Oplossing: Stel in de sink voor kopieeractiviteit onder PolyBase-instellingen de standaardoptie voor het gebruikstype in op false.

Foutmelding: Java-uitzonderingsmelding: HdfsBridge::CreateRecordReader

  • Symptomen: U kopieert gegevens naar Azure Synapse Analytics met behulp van PolyBase en ontvangt de volgende fout:

    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.....

  • Oorzaak: De oorzaak kan zijn dat het schema (totale kolombreedte) te groot is (groter dan 1 MB). Controleer het schema van de doeltabel Azure Synapse Analytics door de grootte van alle kolommen toe te voegen:

    • Int = 4 bytes
    • Bigint = 8 bytes
    • Varchar(n), char(n), binary(n), varbinary(n) = n bytes
    • Nvarchar(n), nchar(n) = n*2 bytes
    • Datum = 6 bytes
    • Datetime/(2), smalldatetime = 16 bytes
    • Datetimeoffset = 20 bytes
    • Decimaal = 19 bytes
    • Float = 8 byten
    • Geld = 8 bytes
    • Smallmoney = 4 bytes
    • Reëel = 4 bytes
    • Smallint = 2 bytes
    • Tijd = 12 bytes
    • Tinyint = 1 byte
  • Oplossing:

    • Verklein de kolombreedte tot minder dan 1 MB.
    • Of gebruik een benadering voor bulksgewijs invoegen door PolyBase uit te schakelen.

Foutbericht: aan de voorwaarde die is opgegeven met behulp van voorwaardelijke HTTP-header(s) is niet voldaan

  • Symptomen: U gebruikt SQL-query om gegevens op te halen uit Azure Synapse Analytics en de volgende fout te ontvangen:

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

  • Cause: Azure Synapse Analytics er is een probleem opgetreden tijdens het uitvoeren van query's op de externe tabel in Azure Storage.

  • Resolution: Voer dezelfde query uit in SQL Server Management Studio (SSMS) en controleer of u hetzelfde resultaat krijgt. Als u dit doet, opent u een ondersteuningsticket voor Azure Synapse Analytics en geeft u de naam van uw Azure Synapse Analytics server en database op.

De prestatielaag bevindt zich op een laag niveau en leidt tot een kopieermislukking

  • Symptomen: U kopieert gegevens naar Azure SQL Database en ontvangt de volgende fout: Database operation failed. Error message from database execution : ExecuteNonQuery requires an open and available Connection. The connection's current state is closed.

  • Cause: Azure SQL Database s1 heeft I/O-limieten (Input/Output) bereikt.

  • Resolution: werk de Azure SQL Database prestatielaag bij om het probleem op te lossen.

Foutbericht: Tekenreeks- of binaire gegevens worden afgekapt

  • Symptomen: Er treedt een fout op wanneer u gegevens kopieert naar een on-premises Azure SQL Server-tabel.

  • Oorzaak: De definitie van het SQL-tabelschema heeft een of meer kolommen met minder lengte dan verwacht.

  • Oplossing: Probeer het volgende om het probleem op te lossen:

    1. Als u wilt oplossen welke rijen het probleem hebben, past u fouttolerantie voor SQL-sink toe, met name redirectIncompatibleRowSettings.

      Notitie

      Fouttolerantie vereist mogelijk extra uitvoeringstijd, wat kan leiden tot hogere kosten.

    2. Controleer de omgeleide gegevens op basis van de lengte van de sql-tabelschemakolom om te zien welke kolommen moeten worden bijgewerkt.

    3. Werk het tabelschema dienovereenkomstig bij.

Foutcode: FailedDbOperation

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

  • Aanbeveling: zorg ervoor dat de gebruiker die is geconfigureerd in de Azure Synapse Analytics-connector de machtiging CONTROL moet hebben voor de doeldatabase terwijl u PolyBase gebruikt om gegevens te laden. Raadpleeg dit document voor meer informatie.

Foutcode: Msg 105208

  • Symptomen: Foutcode: 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.'
  • Cause: Het opnemen van gegevens met behulp van de opdracht COPY in een Azure Storage-account dat gebruikmaakt van de nieuwe functie DNS-partitionering resulteert in een fout. Met de functie DNS-partitie kunnen klanten maximaal 5000 opslagaccounts per abonnement maken.
  • Resolutions: Richt een opslagaccount in in een abonnement dat niet gebruikmaakt van de nieuwe functie Azure Storage DNS-partitie (momenteel in openbare preview).

Foutcode: SqlDeniedPublicAccess

  • Bericht: 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 Virtual 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.

  • Causes: Azure SQL Database is ingesteld op het weigeren van openbare netwerktoegang. Hiervoor moet u een beheerd virtueel netwerk gebruiken en een privé-eindpunt maken voor toegang.

  • Aanbeveling:

    1. Als u erop staat om openbare netwerktoegang uit te schakelen, gebruikt u de runtime voor de integratie van beheerde virtuele netwerken en maakt u een privé-eindpunt. Zie Azure Data Factory beheerd virtueel netwerk voor meer informatie.

    2. Schakel anders openbare netwerktoegang in door de optie Public network access in te stellen op Geselecteerde netwerken op de Azure SQL Database Netwerken instellingspagina.

Voor meer hulp bij het oplossen van problemen kunt u de volgende bronnen proberen: