Power BI refresh errors, decoded
Every failed Power BI dataset refresh has a cause. Paste an error below, or browse the catalog of the most common failures: each with the plain-English root cause, the fix, and a link to the source on Microsoft Learn. Free, no login.
Gateway
- GatewayNotReachableThe on-premises data gateway is out of date or unreachable when the service tries to store data-source credentials.
- DM_GWPipeline_UnknownErrorA generic gateway-pipeline failure: the gateway could not reach the source (for a SAML source, the signing key was not loaded).
- DM_GWPipeline_Gateway_SpooledOperationMissingThe gateway lost the in-progress operation state (the gateway service restarted mid-refresh, or the host VM was cloned after the gateway was installed).
Connectivity
- DM_GWPipeline_Gateway_DataSourceAccessErrorThe gateway was reached but could not access the on-premises source (wrong connection details, source unreachable, or a permission problem).
- DM_GWPipeline_Gateway_MashupDataAccessErrorThe gateway's mashup engine could not negotiate TLS / a certificate with the source (e.g. Databricks: TLS 1.2 or certificate trust).
- sql-login-timeoutThe SQL connection could not be established in time (network unreachable, firewall, or a slow server).
- sql-server-not-foundSQL "error 40": wrong instance, server down, remote connections disabled, or a firewall block.
- deny-public-network-accessAzure SQL is blocking public-endpoint connections.
- ssl-cert-untrustedAn on-prem SQL self-signed certificate is not trusted (encrypt-by-default).
- ssl-name-mismatchA short server name was given but the certificate CN is the FQDN.
- oracle-tnsOracle TNS errors (ORA-12154/12514/12541/12170/12504): a bad connect identifier, or the listener/port is down or firewalled.
Credentials
- InvalidConnectionCredentialsAn OAuth2 token expires roughly 1 hour into a long refresh and the gateway cannot auto-renew it.
- AccessUnauthorizedThe same OAuth2 long-refresh token expiry, on cloud data sources.
- creds-invalidStored credentials are out of date, or a query mixes cloud OAuth and on-prem sources on the personal gateway.
- cloud-credential-missingA personal-gateway reinstall removed the stored credentials.
- resource-forbiddenExpired cached browser / session credentials.
Permissions
- privacy-firewallThe Data Privacy Firewall is blocking combining sources with incompatible privacy levels (Formula.Firewall).
- combine-data-privacyDesktop ignored privacy levels but the service can't combine the sources without them.
- kerberos-delegationKerberos constrained delegation is not configured (the SPN is missing on the gateway service account).
Resource / capacity
- 0xC13E0003Resource governance canceled the refresh at the per-model memory limit.
- memory-limit-exceededA query exceeded the per-query memory allowance.
- not-enough-memoryThe resource-governing command memory limit was exceeded (memory consumed vs. limit vs. database size).
- capacity-refresh-limitToo many semantic models are refreshing concurrently on the capacity.
- capacity-level-limitThe capacity-wide concurrent-refresh ceiling was hit.
- node-level-limitA physical Premium node limit was exceeded.
- sql-memory-grant-8657The source SQL engine refused the query's memory grant: the request needed more query workspace memory than its workload group's per-request ceiling allows.
Timeout
Data / model
- ModelRefresh_ShortMessage_ProcessingErrorA generic processing error while the engine processes a table or partition; the nested errorDescription holds the real 0x cause.
- 0xC112001CExpression.Error / "the command has been canceled": one partition's query failed and the transaction canceled the rest.
- container-crashThe mashup / processing container terminated unexpectedly (exit code 0x0000DEAD).
- type-mismatchAn M-script data-type mismatch during processing (often a stale Power BI Desktop version).
- circular-dependencySummarizeColumns inside CalculateTable creates a circular dependency (a Sept-2024 behavior change).
Configuration
Stop decoding refresh errors by hand
RefreshRadar watches every Power BI dataset refresh and tells you what broke (with the likely cause and the fix) the moment it fails, so a silent failure never reaches your stakeholders first.