PowerBI SPN connection to Databrick Times Out

Anonymous
2026-07-01T14:48:40.43+00:00

I have a large tabular model that refreshes overnight. The model source is using a Azure Databricks Connection, which has a Service Principal that has read access to the required catalogs in Databricks. However the refresh is timing out after an hour with this error:

Processing error: The current operation was cancelled because another operation in the transaction failed. The command has been canceled.. The exception was raised by the IDataReader interface. Please review the error message and provider documentation for further information and corrective action. DataSource.Error: ERROR [HY000] [Microsoft][Hardy] (35) Error from server: error code: '0' error message: 'Unable to continue fetch after reconnect. Retry limit exceeded.'.. . The exception was raised by the IDataReader interface. Please review the error message and provider documentation for further information and corrective action.

If I use a PAT token instead of SPN to connect, I don't get the error. Assuming the SPN is generating a token that is lapsing after an hour, and think it's because it using Cloud Fetch under the hood (all of my M partitions are the default i.e. EnableQueryResultDownload=1)

Is PAT the advised approach to this limitation or extending the SPN AccessTokenLifetime?

Azure Databricks
Azure Databricks

An Apache Spark-based analytics platform optimized for Azure.

0 comments No comments

Answer accepted by question author

Manoj Kumar Boyini 18,920 Reputation points Microsoft External Staff Moderator
2026-07-02T12:26:36.92+00:00

Hi @Anonymous

Based on the behavior you've described, this matches a documented limitation when using Microsoft Entra ID-managed service principals for Power BI authentication with Azure Databricks.

The Azure Databricks documentation states that M2M OAuth with a Microsoft Entra ID-managed service principal has a 1-hour limit. If a Power BI workflow runs longer than one hour, it fails because the Power BI connector cannot refresh the OAuth access token during the operation. This aligns with the error you're seeing:

ERROR [HY000] [Microsoft][Hardy] (35)
Unable to continue fetch after reconnect. Retry limit exceeded.

This also explains why the refresh succeeds when using a Personal Access Token (PAT)—PAT authentication is not subject to this specific OAuth token refresh limitation.

If you would like to continue using service-principal authentication, the documentation recommends using an Azure Databricks-managed service principal for M2M OAuth. Unlike Microsoft Entra ID-managed service principals, the connector automatically refreshes the access token for Azure Databricks-managed service principals, so the 1-hour limitation does not apply.

Therefore, your available options are:

Continue using a PAT, which is a supported workaround for long-running refreshes.

Migrate to an Azure Databricks-managed service principal for M2M OAuth if you want to retain service-principal authentication without the 1-hour limitation.

References:
https://learn.microsoft.com/en-us/azure/databricks/partners/bi/power-bi-m2m
https://learn.microsoft.com/en-us/azure/databricks/partners/bi/power-bi-desktop

If this solution helped resolve your issue, please consider clicking ‘Accept Answer’ or giving it an upvote to help others find it easily.

Was this answer helpful?

1 person found this answer helpful.
0 comments No comments

0 additional answers

Sort by: Most helpful

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.