MetricSign
NL|ENStart free →
error-reference12 min·

Foutmeldingen in Azure Data Factory-pipelines: een overzicht van veelvoorkomende fouten

Je ADF-pipeline is om 03:42 mislukt met een UserError-code die op zichzelf niets zegt. De Power BI refresh die ervan afhankelijk is, vindt over twee uur plaats. Hier lees je hoe je de foutklasse kunt interpreteren en direct naar de oplossing kunt gaan.

Read this article in English →

Hoe ADF-pipeline fouten eruitzien

Azure Data Factory genereert geen enkele foutklasse. Een mislukte pipeline run kan een numerieke code in het bereik 2xxx, 3xxx of 5xxx opleveren, een klassenaam UserError* van de copy activity, een HRESULT van de self-hosted integration runtime of een kale .NET-uitzonderingsnaam zoals OutOfMemoryException. Aan de vorm van de fout kun je al zien waar die vandaan komt, nog voordat je het bericht leest.

ADF Studio · Activity log · mislukt
Pipeline: SalesDailyLoad · Activiteit: CopyToWarehouse · Run-ID: 7e3f2a1c-8d04 · 03:47 UTC
UserErrorAzureBlobOperationFailed
Fout opgetreden aan de 'Sink'-zijde.
Foutcode=2200, 'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException, Bericht=Er is een fout opgetreden aan de 'Sink'-zijde. Foutcode=AdlsGen2OperationFailed, Container=warehouse, Pad=raw/sales/2026-05-09. De server kan het verzoek niet verifiëren.
bij Microsoft.DataTransfer.ClientLibrary.Adls.AdlsClient.WriteAsync() bij Microsoft.DataTransfer.ClientLibrary.HybridDeliveryClient.CopyAsync()
Waar engineers tijd verliezen Deze UserError* klasse komt uit het activiteitenlog, niet uit het runlog. In het run log zie je alleen "Activity 'CopyToWarehouse' failed" — twee klikken diep om de echte oorzaak te vinden.

Drie log-overzichten genereren deze fouten en ze komen niet altijd overeen:

  • Run log — de uitvoeringsgeschiedenis per pipeline in het tabblad Monitoring van ADF Studio. Toont de mislukte activiteit, de duur en het foutbericht dat door die activiteit is geretourneerd. Dit is de weergave die je bereikt door op de mislukte uitvoering te klikken.
  • Activity log — de diagnostische details per pipelineactiviteit. Voor een copy activity zie je hier UserErrorAzureBlobOperationFailed of UserErrorCopyActivityInvalidSinkConfiguration. Voor een zelfgehoste IR-activiteit worden hier de HRESULT en de stacktrace weergegeven.
  • Trigger log — de uitvoeringsgeschiedenis van de trigger. Een pipeline die nooit is gestart omdat de geplande trigger is mislukt, wordt hier weergegeven, niet in het run log. Gemakkelijk over het hoofd te zien als je alleen de pipelineweergave controleert.

Het lezen van het verkeerde logboek is de eerste plek waar engineers tijd verliezen. Een pipeline die in het run log als "in de wachtrij" wordt weergegeven, kan een fout op trigger niveau hebben die alleen zichtbaar is in het trigger log. Een copy activity die in het run log een algemene status "mislukt" retourneert, heeft de daadwerkelijke UserError*-klasse meestal pas twee klikken diep in de details op activiteitsniveau te vinden.

Waarom ADF-fouten je Power BI-, Fabric- en dbt-pipelines verstoren

Een ADF-fout blijft zelden beperkt tot ADF. De meeste productie pipelines zijn bedoeld om data te plaatsen in een laag die door iets anders wordt gelezen – een Power BI Direct Lake-datacenter waar data uit wordt gelezen, een Fabric-datawarehouse waar een dbt-project data transformeert, of een Snowflake-tabel waar een downstream BI-dataset van afhankelijk is.

Drie cascade-patronen dekken de meeste incidenten die datateams afhandelen:

De stille laadactie met nul rijen. Een copy activity wordt zonder fouten voltooid, maar schrijft nul rijen omdat een bronfilter is gewijzigd, een partitie leeg is of een UserErrorInvalidColumnReferenced-fout is onderschept en genegeerd door een OnError-activiteit. Power BI vernieuwt de lege tabel met succes. Het dashboard toont de gecachede data van gisteren omdat Direct Lake is teruggevallen. Niemand wordt hierover geïnformeerd.

De vertraagde maar voltooide pipeline. De ADF-pipeline duurt 22 minuten langer dan de basistijd omdat de self-hosted integration runtime de foutmelding UserErrorSelfHostedIntegrationRuntimeBusyWithFullTask kreeg en de uitvoering in de wachtrij plaatste. De pipeline slaagt, maar eindigt nadat de Power BI verversing van 06:00 uur al is gestart. De verversing leest de momentopname van de vorige dag en het rapport van maandag toont de cijfers van vorige week.

De fout met de downstream-referenties. De pipeline mislukt met de foutmelding UserErrorOAuthTokenExpiredOrRevoked tegen een linked service. Het dbt-project dat downstream wordt uitgevoerd, ziet geen nieuwe partitie en slaat het model met een actualiteitscontrole over, wat correct gedrag is, maar geen waarschuwing genereert. Zes uur later merkt iemand het op.

In alle drie de gevallen is de ADF-fout zelf binnen enkele minuten te herstellen – zodra je hem vindt. De schade zit hem in de tijd tussen de fout en het moment dat iemand de waarschuwing ziet.

Voor een volledig overzicht van hoe ADF, Databricks, dbt en Power BI op elkaar aansluiten, zie end-to-end data lineage from ADF to Power BI.

ADF-foutcategorieën

ADF-fouten vallen onder een aantal foutmodi. Gebruik deze index om te bepalen met welk type probleem je te maken hebt en klik vervolgens door naar de pagina met de oplossing voor de betreffende code.

#### Configuratie (meest voorkomend)

Deze fouten treden op wanneer de configuratie van de pipeline definitie, de linked service of de self-hosted integration runtime onjuist is. Problemen met tenants, ontbrekende assemblies, een niet-geïnstalleerde JVM of niet-toegekende ACL's. Vaak voorkomend na IR-upgrades of tenantmigraties.

CodeProbleem
HRESULT: 0x8007007EJVM DLL niet gevonden op ADF zelfgehoste IR-node
TypeInitializationExceptionFout bij initialisatie van zelfgehoste IR-type
FileNotFoundExceptionZelfgehoste IR-assembly of -bestand niet gevonden
HybridDeliveryExceptionZelfgehoste IR Java-runtime niet gevonden
DllNotFoundExceptionZelfgehoste IR native DLL niet gevonden (jvm.dll)
ADF-pipeline fout 2709Toegangstoken is afkomstig van de verkeerde tenant
ADF-pipeline fout 2705Verboden — ACL-verificatie mislukt voor Data Lake Store
ADF-pipeline fout 2711ACL-verificatie mislukt — Toegang tot Data Lake-opslag verboden

#### Gegevensbron

De pipeline heeft de bron of bestemming bereikt, maar er is iets misgegaan met de gegevens, het schema of het verzoek. Configuratie van de bestemming komt niet overeen, blobpad ontbreekt, er wordt verwezen naar kolommen die niet meer bestaan, RU/s overschreden op Cosmos DB.

CodeProbleem
UserErrorAzureBlobOperationFailedAzure Blob-bewerking mislukt
UserErrorCopyActivityInvalidSinkConfigurationCopy activity ongeldige bestemmingsconfiguratie
UserErrorCosmosDbRequestRateOrLimitExceededHet aanvraagtempo of de limiet van Cosmos DB is overschreden
UserErrorDataFlowExecutionTimeoutTime-out voor de uitvoering van de gegevensstroom
UserErrorFileNameContainerNotFoundBestandsnaam of container niet gevonden
UserErrorInvalidColumnReferencedOngeldige kolom waarnaar wordt verwezen
UserErrorMaxConcurrentRunsLimitReachedMaximale limiet voor gelijktijdige uitvoeringen bereikt
UserErrorNoDestinationForColumnGeen bestemming voor kolom

#### Referenties

De pipeline bereikte de authenticatielaag en werd geweigerd. Service principal secret is verlopen, Key Vault-sleutel ontbreekt, OAuth-token ingetrokken, authenticatie van linked service mislukt. Deze fouten treden meestal op als een cluster: elke pipeline die dezelfde linked service gebruikt, loopt binnen hetzelfde uur vast.

CodeProbleem
UserErrorAccessDeniedToegang geweigerd
UserErrorKeyNotFoundInKeyVaultSleutel niet gevonden in Key Vault
UserErrorLinkedServiceAuthenticationFailedAuthenticatie van linked service mislukt
UserErrorOAuthTokenExpiredOrRevokedOAuth-token verlopen of ingetrokken

#### Capaciteit

De datafactory of een van de afhankelijkheden ervan heeft een quotum of geheugenlimiet bereikt. ADF-abonnementsquotum overschreden, Cosmos DB-aanvraagsnelheid te hoog, de zelfgehoste IR heeft tijdens het kopiëren geen geheugen meer.

CodeProbleem
UserErrorDataFactoryQuotaExceededData Factory-quotum overschreden
DocumentClientExceptionCosmos DB-aanvraagsnelheid te hoog bij kopiëren
OutOfMemoryExceptionFoutmelding 'Out of Memory' bij zelfgehoste IR

#### Gateway

De self-hosted integration runtime is de gateway tussen ADF en on-premise bronnen. Wanneer deze een Java-afhankelijkheid niet kan uitvoeren, overbelast is door gelijktijdige taken of de Windows-service niet actief is op de host, mislukt elke pipeline die erdoorheen loopt totdat de gateway is hersteld.

CodeProbleem
UserErrorParquetJavaInvocationExceptionParquet Java-aanroepfout
UserErrorSelfHostedIntegrationRuntimeBusyWithFullTaskZelfgehoste IR bezet met volledige taak
UserErrorSelfHostedIntegrationRuntimeNotRunningZelfgehoste IR draait niet

#### Connectiviteit

De pipeline is mislukt voordat er gegevens konden worden uitgewisseld met de bron of bestemming. Het ODBC-stuurprogramma heeft een netwerkfout geretourneerd, de SAP RFC-bestemmingsregistratie is mislukt, de peer van het zelfgehoste IR-cluster is onbereikbaar.

CodeProbleem
ADF-pipeline fout 2200ODBC-bewerking mislukt in copy activity
SapRfcDestinationAddFailedRegistratie van SAP RFC-bestemming mislukt
EndpointNotFoundExceptionZelfgehost IR-knooppunt kan geen verbinding maken met clusterpeer

#### Gegevensindeling

De gegevens bereikten de activiteit, maar de activiteit kon ze niet parseren. Meestal komt dit door een onjuist geformuleerde queryreeks, een mismatch in kolomtypen in een schema-on-read-sink of een coderingsprobleem in de bron.

CodeProbleem
UserErrorOdbcInvalidQueryStringOngeldige ODBC-queryreeks

#### Machtigingen

De pipeline is uitgevoerd, maar er ontbrak een Windows- of RBAC-machtiging. De meest voorkomende variant is een zelfgehost IR-serviceaccount zonder toestemming om een lokale share te lezen of een beheerde map te schrijven.

CodeProbleem
UnauthorizedAccessExceptionToegang tot zelfgehost IR-serviceaccount geweigerd

Hoe MetricSign ADF-pipeline fouten detecteert

MetricSign leest het activity log van Azure Data Factory, de uitvoeringsgeschiedenis van pipelines, de uitvoeringsgeschiedenis van triggers en de runtime-status van integraties. Waar ADF Studio een algemene status 'mislukt' weergeeft, extraheert MetricSign de onderliggende foutklasse en toont deze in één waarschuwing voor de betreffende pipeline en de daaraan gekoppelde afnemers.

Vier detectiepaden dekken de meeste incidenten in productieomgevingen:

  • Fouten op trigger niveau. Deze worden gedetecteerd in de uitvoeringsgeschiedenis van triggers. Een geplande trigger die de pipeline nooit heeft uitgevoerd, genereert geen vermelding in het run log; MetricSign leest de trigger gegevens afzonderlijk en geeft een waarschuwing wanneer een verwachte uitvoering niet is gestart.
  • Fouten op activiteitsniveau. Deze worden gedetecteerd in de details op activiteitsniveau binnen elke pipeline run. De waarschuwing vermeldt de pipeline, de activiteit, de UserError*-klasse en de gekoppelde Power BI datasets, dbt-modellen of Fabric-items die ervan afhankelijk zijn.
  • Self-hosted integration runtime offline. Deze melding wordt opgevangen via het IR-status-endpoint. Wanneer een on-premise IR-node offline gaat vanwege UserErrorSelfHostedIntegrationRuntimeNotRunning of een JVM-afhankelijkheidsfout, geeft MetricSign een waarschuwing voordat de volgende geplande pipeline deze probeert te gebruiken.
  • Authenticatiefouten voor linked services. Wanneer een cluster van pipelines allemaal UserErrorLinkedServiceAuthenticationFailed of UserErrorOAuthTokenExpiredOrRevoked retourneert voor dezelfde linked service, worden de fouten gegroepeerd in één incident in plaats van dat elke pipeline afzonderlijk wordt gepagineerd.

Eerlijke kanttekening: MetricSign leest de gegevens die ADF via de REST API beschikbaar stelt. Fouten die ADF alleen registreert op de zelfgehoste IR-hostmachine — een JVM-installatie die weliswaar is gelukt, maar naar het verkeerde pad verwees, een Windows-gebeurtenislogboekvermelding die nooit in de IR-diagnostische upload is opgenomen — zijn niet zichtbaar voor MetricSign of voor andere systemen buiten de host. Voor deze fouten vindt de diagnose nog steeds plaats op de IR-machine zelf.

Hoe een ADF-fout systematisch te diagnosticeren

Als een ADF-pipeline mislukt, doorloop dan de diagnose in deze volgorde in plaats van de berichttekst te doorzoeken:

  1. Controleer eerst het trigger log. Als de pipeline nooit is gestart, is het run log leeg. Open de trigger uitvoeringsgeschiedenis in ADF Studio Monitoring en controleer of de planning daadwerkelijk is uitgevoerd.
  1. Lees de foutklasse, niet het bericht. UserErrorAccessDenied en UnauthorizedAccessException worden beide weergegeven als "toegang geweigerd", maar vereisen volledig verschillende oplossingen: de ene betreft een linked service referentie, de andere een Windows ACL op de IR-host.
  1. Identificeer de categorie. Configuratie, gegevensbron, referenties, capaciteit, gateway, connectiviteit, gegevensindeling, machtigingen. De categorie bepaalt wie het probleem kan oplossen. De bovenstaande index koppelt elke code aan de bijbehorende categorie.
  1. Controleer of het om één pipeline of meerdere gaat. Een enkele pipeline die UserErrorOAuthTokenExpiredOrRevoked retourneert, is een referentieprobleem per pipeline. Elke pipeline die dezelfde linked service op hetzelfde uur uitvoert en dezelfde code retourneert, duidt op een probleem op tenant- of abonnementsniveau met die linked service of de bijbehorende Key Vault-vermelding.
  1. Controleer bij zelfgehoste IR-fouten de IR-host vóór de pipeline. Fouten met HRESULT, DllNotFoundException, TypeInitializationException, OutOfMemoryException of EndpointNotFoundException ontstaan op de IR-machine, niet in ADF. Voer de IR-diagnose uit op de host en controleer het Windows-gebeurtenislogboek voordat je iets wijzigt in ADF Studio.
  1. Stem de timing af op een implementatie of een referentierotatie. Een golf van UserErrorLinkedServiceAuthenticationFailed in dezelfde minuut valt bijna altijd samen met het verlopen van een service principal secret of een Key Vault-rotatie. Een langzame afwijking over een week duidt eerder op een quotum dat de limiet nadert.

Het overslaan van de categoriestap is de meest voorkomende fout. Technici googelen de foutmelding en installeren uiteindelijk een JVM opnieuw op een IR-host, terwijl de daadwerkelijke oplossing een Key Vault ACL was.

Volledige ADF-foutindex

Elke code waarnaar vanuit deze hub wordt verwezen, heeft een eigen pagina met de standaard Microsoft-beschrijving, het typische pipeline-scenario waarin deze voorkomt en de stappen voor het oplossen van het probleem. Gebruik deze lijst om direct naar de code te gaan die je zoekt.

CodeBeschrijving
ADF Pipeline Error 2200ODBC-bewerking mislukt in copy activity
ADF Pipeline Error 2705Verboden — ACL-verificatie mislukt voor Data Lake Store
ADF Pipeline Error 2709Toegangstoken is afkomstig van de verkeerde tenant
ADF-pipeline fout 2711ACL-verificatie mislukt — Toegang tot Data Lake Store verboden
DllNotFoundExceptionZelfgehoste IR Native DLL niet gevonden
DocumentClientExceptionCosmos DB-aanvraagsnelheid te hoog
EndpointNotFoundExceptionZelfgehoste IR-clusterpeer onbereikbaar
FileNotFoundExceptionZelfgehoste IR-assembly of -bestand niet gevonden
HRESULT: 0x8007007EJVM DLL niet gevonden op zelfgehost IR-knooppunt
HybridDeliveryExceptionJava-runtime voor zelfgehost IR niet gevonden
OutOfMemoryExceptionGeheugenprobleem bij zelfgehost IR
SapRfcDestinationAddFailedRegistratie van SAP RFC-bestemming mislukt
TypeInitializationExceptionFout bij initialisatie van type op zelfgehost IR
UnauthorizedAccessExceptionToegang tot IR-serviceaccount geweigerd
UserErrorAccessDeniedToegang geweigerd
UserErrorAzureBlobOperationFailedAzure Blob-bewerking mislukt
UserErrorCopyActivityInvalidSinkConfigurationOngeldige sinkconfiguratie voor copy activity
UserErrorCosmosDbRequestRateOrLimitExceededCosmos DB-aanvraagsnelheid overschreden
UserErrorDataFactoryQuotaExceededQuota voor Data Factory overschreden
UserErrorDataFlowExecutionTimeoutTime-out voor Data Flow-uitvoering
UserErrorFileNameContainerNotFoundBestandsnaam of container niet gevonden
UserErrorInvalidColumnReferencedOngeldige kolom waarnaar wordt verwezen
UserErrorKeyNotFoundInKeyVaultSleutel niet gevonden in Key Vault
UserErrorLinkedServiceAuthenticationFailedAuthenticatie van linked service mislukt
UserErrorMaxConcurrentRunsLimitReachedMaximale limiet voor gelijktijdige uitvoeringen bereikt
UserErrorNoDestinationForColumnGeen bestemming voor kolom
UserErrorOAuthTokenExpiredOrRevokedOAuth-token verlopen of ingetrokken
UserErrorOdbcInvalidQueryStringOngeldige ODBC-queryreeks
UserErrorParquetJavaInvocationExceptionParquet Java-aanroepfout
UserErrorSelfHostedIntegrationRuntimeBusyWithFullTaskZelfgehoste IR bezet met volledige taak
UserErrorSelfHostedIntegrationRuntimeNotRunningZelfgehoste IR draait niet

Deze index behandelt ADF-fouten met een meetbaar zoekvolume en reproduceerbare oplossingspaden. De volledige Microsoft-referentie bevat meer codes; de bovenstaande codes komen vaak genoeg voor in productie pipelines om een eigen pagina te rechtvaardigen.

ADF-fouten zouden niet als eerste moeten verschijnen in de vorm van een verouderd Power BI dashboard of een overgeslagen dbt-model. MetricSign bewaakt ADF-triggers, -activiteiten en de runtime-status van integraties in al je abonnementen en stuurt de waarschuwing door voordat de volgende downstream-refresh start.

Veelgestelde vragen

Wat is een ADF-pipeline fout?+
Een ADF-pipeline fout is elke fout die voorkomt dat een Azure Data Factory-pipeline naar verwachting wordt voltooid. Deze fout kan afkomstig zijn van de pipeline zelf (een numerieke code zoals 2709), van een copy activity (een `UserError*`-klasse zoals `UserErrorAzureBlobOperationFailed`) of van de self-hosted integration runtime (een .NET-uitzondering zoals `OutOfMemoryException`). De foutklasse geeft aan welk subsysteem de uitvoering heeft geweigerd.
Waar vind ik de daadwerkelijke foutcode voor een mislukte ADF-pipeline?+
Open de pipeline run in ADF Studio Monitoring, klik op de mislukte activiteit en vouw de uitvoer van de activiteit uit. De foutklasse (bijvoorbeeld `UserErrorOAuthTokenExpiredOrRevoked`) staat in de details op activiteitsniveau, niet in het overzicht op pipeline niveau. Als de pipeline nooit is gestart, controleer dan de uitvoeringsgeschiedenis van de trigger; fouten bij geplande triggers worden niet weergegeven in het pipeline runslogboek.
Wat is het verschil tussen een gebruikersfout (UserError) en een systeemfout (SystemError) in ADF?+
`UserError*`-klassen beschrijven fouten die ADF toeschrijft aan de configuratie, gegevens of referenties die door de auteur van de pipeline zijn verstrekt. Systeemfouten en pure .NET-uitzonderingen (`OutOfMemoryException`, `EndpointNotFoundException`) zijn meestal afkomstig van de self-hosted integration runtime of de onderliggende service. Deze scheiding is belangrijk voor wie de fout kan verhelpen: de meeste `UserError*`-codes kunnen door de auteur van de pipeline worden opgelost, terwijl systeemfouten vaak actie van de host of beheerder vereisen.
Waarom slaagt een ADF-pipeline wel, maar worden er geen rijen weggeschreven?+
Een copy activity wordt als succesvol gerapporteerd wanneer de bronquery, het netwerk en de bestemmingsconfiguratie allemaal correct zijn. Als het bronfilter is gewijzigd, de partitie leeg is of een upstream-systeem is gestopt met het verzenden van gegevens, rapporteert de activiteit succes met nul geschreven rijen. Zonder volumebewaking is dit onzichtbaar: elke downstream-tool rapporteert een succesvolle refresh, terwijl de gegevens leeg zijn.
Hoe detecteert MetricSign fouten in ADF-pipelines?+
MetricSign leest de ADF REST API: de uitvoeringsgeschiedenis van de pipeline, details op activiteitsniveau, de uitvoeringsgeschiedenis van triggers en de runtime-status van de integratie. Het analyseert de onderliggende foutklasse uit de activiteitsoutput, groepeert gerelateerde fouten (zelfde linked service, zelfde minuut) in één incident en stuurt de waarschuwing door naar het datateam voordat de volgende Power BI-, dbt- of Fabric-taak wordt uitgevoerd.
Kan MetricSign ADF-fouten automatisch herstellen?+
Nee. MetricSign detecteert, groepeert en routeert de waarschuwing met de onderliggende foutklasse en de getroffen downstream-gebruikers. Het daadwerkelijk oplossen van de fout – het roteren van een service principal secret, het herstarten van een IR-host, het aanpassen van een ACL – vereist nog steeds de tussenkomst van de data engineer of tenant beheerder. De waarde zit hem in de detectietijd en de nauwkeurigheid van de routering, niet in automatische herstelacties.

Gerelateerde foutcodes

Gerelateerde integraties

Gerelateerde artikelen

← Alle artikelenDelen op LinkedIn