Problemen oplossen 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
VAN TOEPASSING OP: Azure Data Factory Azure Synapse Analytics
Tip
Probeer Data Factory uit in Microsoft Fabric, een alles-in-één analyseoplossing voor ondernemingen. Microsoft Fabric omvat alles, van gegevensverplaatsing tot gegevenswetenschap, realtime analyses, business intelligence en rapportage. Meer informatie over het gratis starten van een nieuwe proefversie .
Dit artikel bevat suggesties voor het oplossen van veelvoorkomende problemen met 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. Bekijk de onderstaande lijst voor 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 Openbare netwerktoegang weigeren in op Nee. Zie Azure SQL-connectiviteitsinstellingen voor meer informatie. Als het foutbericht een SQL-foutcode bevat, zoals 'SqlErrorNumber=[errorcode]', raadpleegt u de handleiding voor het oplossen van problemen met Azure SQL voor Azure SQL. Zie Connectiviteitsproblemen en andere fouten met Azure SQL Database en Azure SQL Managed Instance oplossen voor een aanbeveling. Controleer of poort 1433 zich in de acceptatielijst van de firewall bevindt. Zie Poorten 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 op SQL-foutcode in database-enginefouten. Neem voor meer hulp contact op met de ondersteuning van Azure SQL. 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 '...' bevat is niet toegestaan om toegang te krijgen tot de server en u probeert verbinding te maken met Azure SQL Database. De fout wordt meestal veroorzaakt door een azure SQL Database-firewallprobleem. Schakel in de configuratie van de Azure SQL Server-firewall de optie Azure-services en resources toegang tot deze server geven 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.Verwijs voldoende machtigingen voor uw service-principal of door het systeem toegewezen beheerde identiteit of door de gebruiker toegewezen beheerde identiteit in uw database.
Voor Azure SQL Database:
- Als u verificatie van de service-principal gebruikt, volgt u de verificatie van de service-principal.
- Als u door het systeem toegewezen beheerde identiteitverificatie gebruikt, volgt u door het systeem toegewezen beheerde identiteitverificatie.
- Als u door de gebruiker toegewezen beheerde identiteitverificatie gebruikt, volgt u door de gebruiker toegewezen verificatie van beheerde identiteiten.
Voor Azure Synapse Analytics:
- Als u verificatie van de service-principal gebruikt, volgt u de verificatie van de service-principal.
- Als u door het systeem toegewezen beheerde identiteitverificatie gebruikt, volgt u door het systeem toegewezen beheerde identiteiten voor Verificatie van Azure-resources.
- Als u door de gebruiker toegewezen beheerde identiteitverificatie gebruikt, volgt u door de gebruiker toegewezen verificatie van beheerde identiteiten.
Voor Azure SQL Managed Instance:
- Als u verificatie van de service-principal gebruikt, volgt u de verificatie van de service-principal.
- Als u door het systeem toegewezen beheerde identiteitverificatie gebruikt, volgt u door het systeem toegewezen beheerde identiteitverificatie.
- Als u door de gebruiker toegewezen beheerde identiteitverificatie gebruikt, volgt u door de gebruiker toegewezen verificatie van beheerde identiteiten.Als u voldoet aan het foutbericht dat wordt weergegeven The server was not found or was not accessible
bij het gebruik van Azure SQL Managed Instance, wordt deze fout meestal veroorzaakt door het niet inschakelen van het openbare eindpunt van Azure SQL Managed Instance.Raadpleeg Het openbare eindpunt configureren in Azure SQL Managed Instance om het openbare eindpunt van Azure SQL Managed Instance 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. Bekijk de onderstaande lijst voor 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, wijzigt u de database naar het meest recente compatibiliteitsniveau: 150. Sql-fouten van de nieuwste versie kunnen worden veroorzaakt. 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 de ondersteuning van Azure SQL.Als het foutbericht de tekenreeks 'PdwManagedToNativeInteropException' bevat, wordt dit meestal veroorzaakt door een onjuiste overeenkomst tussen de bron- en sinkkolomgrootten. Controleer de grootte van de bron- en sinkkolommen. Neem voor meer hulp contact op met de ondersteuning van Azure SQL. 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 'Time-out voor uitvoering verlopen' bevat, wordt dit meestal veroorzaakt door time-out van query's. Configureer een time-out voor query's in de bron- en schrijfbatchtime-out in de sink om de time-out te verhogen. Als het foutbericht bevat Cannot find the object "dbo.Contoso" because it does not exist or you do not have permissions.
wanneer u gegevens kopieert van hybride naar een on-premises SQL Server-tabel, is 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: voer de bewerking opnieuw uit om de gekoppelde service bij te werken verbindingsreeks met een grotere time-outwaarde voor de verbinding.
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 tekenreeks in de SQL-bronquery of wijzig in de kolomtoewijzing van de kopieeractiviteit het kolomtype in Tekenreeks.
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. Bekijk de onderstaande lijst voor 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, structuur in de gegevensset en 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. Neem contact op met de ondersteuning van Azure SQL als het probleem zich blijft voordoen.
Foutcode: SqlBatchWriteTransactionFailed
Bericht:
SQL transaction commits failed.
Oorzaak: Als uitzonderingsdetails voortdurend duiden op een time-out van een transactie, is de netwerklatentie tussen de integratieruntime en de database groter dan de standaarddrempel van 30 seconden.
Aanbeveling: werk de sql-gekoppelde service bij verbindingsreeks met een time-outwaarde voor de verbinding die gelijk is aan of groter is dan 120 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 gesloten door de SQL-database wanneer een hoge gelijktijdige uitvoering en de server de verbinding beëindigt.
Aanbeveling: Voer de verbinding opnieuw uit. Neem contact op met de ondersteuning van Azure SQL als het probleem zich blijft voordoen.
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: SqlParallelFailedToDetectPhysicalPartitions
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, krijgt u de volgende fout:
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...
Oorzaak: Azure Synapse Analytics PolyBase kan een lege tekenreeks niet converteren naar een GUID.
Oplossing: Stel in de sink voor kopieeractiviteit onder PolyBase-instellingen de standaardoptie voor het gebruikstype in op false.
Foutbericht: Verwacht gegevenstype: DECIMAL(x,x), Waarde voor offending
Symptomen: Wanneer u gegevens kopieert uit een gegevensbron in tabelvorm (zoals SQL Server) naar Azure Synapse Analytics met behulp van gefaseerde kopie en PolyBase, krijgt u de volgende fout:
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:..
Oorzaak: PolyBase in Azure Synapse Analytics 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.
Foutbericht: Java-uitzonderingsbericht: 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 Azure Synapse Analytics-doeltabel 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 bytes
- Geld = 8 bytes
- Smallmoney = 4 bytes
- Real = 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 http-voorwaardelijke 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...
Oorzaak: Azure Synapse Analytics heeft een probleem aangetroffen tijdens het uitvoeren van query's op de externe tabel in Azure Storage.
Oplossing: 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 uw Azure Synapse Analytics-server en databasenaam op.
De prestatielaag is laag en leidt tot een kopieerfout
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.
Oorzaak: Azure SQL Database s1 heeft I/O-limieten (input/output) bereikt.
Oplossing: voer een upgrade uit van de prestatielaag van Azure SQL Database 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:
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.
Controleer de omgeleide gegevens op basis van de lengte van de sql-tabelschemakolom om te zien welke kolommen moeten worden bijgewerkt.
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 voor de doeldatabase moet hebben 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.'
- Oorzaak: Het opnemen van gegevens met behulp van de opdracht COPY in een Azure Storage-account dat gebruikmaakt van de nieuwe functie VOOR DNS-partitionering resulteert in een fout. Met de functie DNS-partitie kunnen klanten maximaal 5000 opslagaccounts per abonnement maken.
- Oplossingen: Richt een opslagaccount in een abonnement in dat geen gebruik maakt van de nieuwe functie voor Azure Storage DNS-partities (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 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.
Oorzaken: Azure SQL Database is ingesteld om openbare netwerktoegang te weigeren. Hiervoor moet u een beheerd virtueel netwerk gebruiken en een privé-eindpunt maken voor toegang.
Aanbeveling:
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 Het beheerde virtuele netwerk van Azure Data Factory voor meer informatie.
Schakel anders openbare netwerktoegang in door de optie Openbare netwerktoegang in te stellen op geselecteerde netwerken op de pagina Netwerkinstellingen van Azure SQL Database.
Gerelateerde inhoud
Voor meer hulp bij het oplossen van problemen kunt u de volgende bronnen proberen: