Join us for an expert-led overview of the tools and concepts you'll need to pass exam PL-300. The first session starts on June 11th. See you there!
Get registeredPower BI is turning 10! Let’s celebrate together with dataviz contests, interactive sessions, and giveaways. Register now.
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.
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.
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.
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
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.
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.
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.
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.
In Power BI:
Enable Query Diagnostics.
Identify large/slow transformations.
Consider pushing these to Snowflake using SQL views or native functions.
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.
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
User | Count |
---|---|
44 | |
32 | |
30 | |
27 | |
25 |
User | Count |
---|---|
55 | |
54 | |
35 | |
33 | |
28 |