Forum Discussion
Concurrent PowerBI Semantic Model refresh fails when model owner is Service Principal
- Anonymous1 year ago
Hi azruld ,
The issue appears to be linked to recent changes in Power BI, particularly with how refreshes are managed when using a Service Principal (SPN). If multiple semantic models owned by a service principal are refreshed simultaneously, they all fail after about 1 minute and 50 seconds with a retry limit error. However, refreshing the models one at a time, or using a user account as the owner, allows them to succeed—even if triggered at the same time. Since there are no related entries in the On-Premises Data Gateway logs, this suggests the failure happens at the Power BI service layer before reaching the data source.This likely indicates a platform-level throttling or connection limit for service principals, especially when using the Enhanced Refresh API (API documentation). User accounts seem to have fewer restrictions. To prevent these errors, try triggering refreshes one after the other when using a service principal. Alternatively, distribute the refreshes across multiple service principals or assign ownership to a user account. Monitoring capacity and throttling with the Metrics App is recommended for Premium or PPU capacity. For more information, refer to Service Principal in Power BI – Limitations & Configuration and embed setup. If the problem persists, especially after a recent update, consider submitting a support case to Microsoft.
Regards,
Sreeteja
Hi azruld ,
This issue seems related to recent changes or limitations affecting how Power BI handles semantic model refreshes owned by Service Principals, especially during concurrent refresh attempts.
When the model is owned by a Service Principal, concurrent refreshes are hitting a restriction—possibly a new limitation introduced by Microsoft around late June 2025. Service Principals are treated differently than user accounts regarding resource allocation, throttling, or concurrency. That’s why refreshes owned by regular user accounts don’t have this issue, but those owned by Service Principals fail when run in parallel.
Possible reasons and context:
-
Microsoft may have tightened security, resource, or throttling controls for Service Principals to prevent abuse, especially with programmatic API access.
-
There’s no specific licensing requirement for Service Principals regarding refresh concurrency, but Microsoft does enforce API and resource throttling limits that can differ for Service Principals vs. users.
-
The error and the timing (failing at ~1:50) suggest a back-end service timeout or resource lock, likely caused by concurrency limits.
-
The fact that the On-Premise Gateway doesn’t even see the request hints that the block happens before requests reach the gateway (likely within the Power BI Service or API layer).
What you can do:
-
Check the Power BI REST API limits and throttling documentation, as they can change, and new restrictions for Service Principals may not be widely announced.
-
If possible, stagger your refreshes programmatically, or serialize them, as you’ve already noticed works.
-
Monitor the Microsoft Power BI support page or community forums for reports of similar recent issues—this could be a new bug or intentional change.
-
Raise a support ticket with Microsoft, referencing the timing and difference in behavior between Service Principal and user ownership, as this may need escalation if it’s a new or unintended limitation.