Forum Discussion
Semantic Model connected to Lakehouse SQL Analytics endpoint not refreshing
- 10 months ago
Yeah, after a second test, this appears to be working...
So, all I've done is add a Script activity which runs a simple SELECT TOP 1 * FROM ... against one of the views in my Lakehouse SQL Endpoint, then a Wait activity that waits for 60 seconds, before the Semantic Model Refresh activity. I'm not sure if the Wait is actually necessary, but I figure it can't do any harm...
Hi DuncanKing,
Here’s how I’d tackle this. Based on what you’ve described, the most common cause is the Lakehouse SQL Analytics endpoint being “cold” at the time your scheduled or pipeline-triggered refresh runs. When the endpoint is inactive, its background sync is paused, so a refresh can query a stale snapshot even though it reports Success. A later manual refresh works only because the endpoint has had time to wake up and sync.
Quick solution
- Orchestrate the order explicitly
Load data -> refresh the SQL Analytics endpoint metadata -> then refresh the semantic model. In a Fabric pipeline, insert a step to call the SQL Endpoint “Refresh metadata” API, wait for it to complete, and only then run the Semantic Model Refresh activity.
Docs: Items – Refresh SQL Endpoint Metadata and Semantic model refresh activity. - Give the endpoint a nudge if you are not using pipelines
Before a scheduled refresh, keep the endpoint “warm” (for example, a tiny query or the metadata refresh call above). Microsoft notes the background process only runs while the endpoint is active and halts after 15 minutes of inactivity.
Reference: SQL Analytics endpoint performance considerations. - Sanity checks that often get overlooked
- Make sure the report is bound to the same semantic model you’re refreshing (rebind if necessary). Docs: Rebind report.
- If you use incremental refresh through views, confirm RangeStart/RangeEnd filters fold all the way to the source. Docs: Advanced incremental refresh. - Optional but helpful
Hosting the semantic model in the same Fabric capacity as the Lakehouse simplifies enhanced refresh options and orchestration. It isn’t strictly required, but it does remove a few variables.
If you try the orchestration above and it still reports Success with stale data, and the solution posted by AntoineW doesn't work either, I’d escalate. This can be tenant-specific. Open a Microsoft support ticket and include: workspace IDs, model ID, pipeline run IDs, refresh history timestamps, and the exact time you triggered the SQL Endpoint metadata refresh.
If you found this helpful, consider giving some Kudos. If I answered your question or solved your problem, mark this post as the solution.