Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Power BI is turning 10! Let’s celebrate together with dataviz contests, interactive sessions, and giveaways. Register now.

Reply
palamanb_Risk
New Member

I am not able to refresh the power bi report in service.

We are encountering a critical issue with a Power BI report connected to a Snowflake data source via an on-premises data gateway. The report refreshes successfully in under five minutes when executed from Power BI Desktop. However, once published to the Power BI Service, the on-demand refresh fails after more than five hours, with the following error:
Error Details:
  • Last Refresh Failed: 12-May-2025, 10:38:10 AM
  • Error Message:
DM_GWPipeline_Gateway_AdoNetProviderExecuteQueryTimeoutError
 
{"error":{"code":"DM_GWPipeline_Gateway_AdoNetProviderExecuteQueryTimeoutError","pbi.error":{"code":"DM_GWPipeline_Gateway_AdoNetProviderExecuteQueryTimeoutError","parameters":{},"details":[],"exceptionCulprit":1}}}
 
 
Environment Details:
  • Data Source: Snowflake (cloud-based)
  • Gateway: Configured via an on-premises gateway cluster with 4 servers
  • Network: All gateway servers’ static IPs are whitelisted in Snowflake
  • Gateway Status: Connection test is successful with valid credentials
  • Dataset Mode: Import

Issue Summary:
  • Report refresh completes in <5 mins via Power BI Desktop.
  • Report fails when refreshed in Power BI Service, timing out after 5+ hours.
  • Error suggests a timeout occurring at the ADO.NET provider level during query execution through the gateway.

Request for Support:
We kindly request your assistance in:
  1. Reviewing the root cause of the timeout through the gateway pipeline.
  2. Confirming any known limitations or timeout configurations related to Snowflake connections via gateway.
  3. Providing recommendations to ensure reliable refresh from Power BI Service.
If logs or diagnostic traces are needed from the gateway, we are happy to provide them.
4 REPLIES 4
v-ssriganesh
Community Support
Community Support

Hello @palamanb_Risk,

Could you please confirm if your query have been resolved? If they have, kindly mark the helpful response and accept it as the solution. This will assist other community members in resolving similar issues more efficiently.

Thank you.

v-ssriganesh
Community Support
Community Support

Hi @palamanb_Risk,
Thank you for reaching out to the Microsoft Fabric Forum Community.

Please refer the below solved thread, where a similar timeout issue was resolved through query optimization and data volume reduction: PBIX is failing on a time out – Community Thread

While the data source and environment are slightly different, the troubleshooting approach may offer some valuable tips.

Thank you, @Nasif_Azam & @Poojara_D12 for sharing valuable insights.

If this information is helpful, please “Accept as solution” and give a "kudos" to assist other community members in resolving similar issues more efficiently.
Thank you.

Poojara_D12
Super User
Super User

Hi @palamanb_Risk 

The issue you're experiencing—where a Power BI report connected to Snowflake refreshes quickly in Power BI Desktop but fails after extended execution time in the Power BI Service—points to a query execution timeout at the gateway layer, specifically flagged as DM_GWPipeline_Gateway_AdoNetProviderExecuteQueryTimeoutError. This typically indicates that the ADO.NET provider used by the on-premises gateway is unable to complete the query execution within the allowed timeout window in the cloud service, even though the same query works locally via Desktop. While Power BI Desktop operates with fewer constraints (local memory, no gateway involvement, direct access), Power BI Service enforces stricter timeouts and memory limits for dataset refresh through the gateway. Notably, the default command timeout for the on-prem gateway using ADO.NET is 2 hours, but the actual duration here exceeds that, which suggests the query or some step may be stalling or retrying.

 

To address this, first optimize the query within Power Query: disable steps that unnecessarily materialize large intermediate results, avoid excessive folding, and minimize large data scans. Secondly, check the gateway logs under C:\Users\PBIEgwService\AppData\Local\Microsoft\On-premises data gateway\GatewayDiagnostics for any indications of retries, resource exhaustion, or network-level stalls. Third, ensure that Snowflake’s query history for the time window of failure is analyzed, as long-running or queued queries on the Snowflake side could trigger gateway timeouts.

 

As for service limitations: Power BI Service has a hard cap of 5-hour refresh timeout for Premium capacity datasets and 2 hours for Pro workspaces. Also, if the ADO.NET driver version used by the gateway is outdated, consider updating to a more performant and stable release. Finally, if the data load is consistently high, partitioning the dataset or implementing incremental refresh in Power BI can dramatically reduce the refresh time and load per cycle, improving reliability.

 

Did I answer your question? Mark my post as a solution, this will help others!
If my response(s) assisted you in any way, don't forget to drop me a "Kudos"

Kind Regards,
Poojara - Proud to be a Super User
Data Analyst | MSBI Developer | Power BI Consultant
Consider Subscribing my YouTube for Beginners/Advance Concepts: https://youtube.com/@biconcepts?si=04iw9SYI2HN80HKS
Nasif_Azam
Solution Specialist
Solution Specialist

Hey @palamanb_Risk ,

You're encountering a DM_GWPipeline_Gateway_AdoNetProviderExecuteQueryTimeoutError, which is specific to Power BI datasets using ADO.NET through the on-premises data gateway especially when accessing Snowflake. Power BI Desktop runs queries directly from your machine, on the other hand Power BI Service uses the On-Premises Data Gateway, introducing latency, additional layers (security, DNS, protocol negotiation), and timeout restrictions. The error Indicates that the query took too long when routed through the gateway. This usually happens because of:

  • Inefficient queries

  • Network latency

  • Insufficient gateway resources

  • Service-side timeouts (typically at 2-hour default per query for import mode)

  • Snowflake connection thread/resource exhaustion

Health Checks & Recommendations

1. Gateway Cluster and System Resources

Make sure all four gateway servers are running the most up-to-date version of the on-premises data gateway.

During data refreshes, monitor each server’s CPU and RAM utilization, as high usage can lead to performance bottlenecks and slowdowns.

Enable and analyze performance logging to understand how the mashup engine is handling the load and identify any inefficiencies.

2. Addressing Timeout Constraints

The Power BI Service imposes a maximum query execution time, generally around two hours. However, when dealing with complex data transformations or less-than-optimized queries, the refresh process can exceed this limit.

To avoid this:

  • Break down large data pulls into smaller, more manageable segments or separate queries.

  • Shift heavy data processing to Snowflake by using pre-aggregated SQL views or applying filters directly at the source.

3. Optimizing Performance on Snowflake

Confirm that the Snowflake virtual warehouse is properly sized to support the workload demands of your report refreshes.

Leverage features like result caching and Query Acceleration Service (QAS) where available to boost efficiency.

Examine query logs in Snowflake, focusing on the time frame of the failed Power BI refresh, to identify queries that were slow to execute or experienced delays due to resource contention.

Action may applied

1. Test Direct Query via Gateway

Use ODBC or ADO.NET client (e.g., DBeaver or Snowflake Snowsight) configured with the same credentials and gateway route to mimic Power BI behavior. Monitor the query time.

2. Profile & Optimize Queries

In Power BI:

  • Enable Query Diagnostics.

  • Identify large/slow transformations.

  • Consider pushing these to Snowflake using SQL views or native functions.

3. Use Enhanced Metadata Logs

Enable detailed refresh tracing in Power BI Service:

  • Go to Dataset settings → Enable “Allow data preview to download logs”

  • Correlate the Activity ID (1e1ce57e-3583-417b-b20f-4a9043fb9c68) with logs in the gateway.

4. Retry with Dataflow

Move transformation logic to Power BI Dataflows, allowing pre-processing outside the gateway, and importing smaller, cleaner datasets.

 

If you found this solution helpful, please consider accepting it and giving it a kudos (Like) it’s greatly appreciated and helps others find the solution more easily.


Best Regards,
Nasif Azam

Helpful resources

Announcements
June 2025 Power BI Update Carousel

Power BI Monthly Update - June 2025

Check out the June 2025 Power BI update to learn about new features.

June 2025 community update carousel

Fabric Community Update - June 2025

Find out what's new and trending in the Fabric community.