Monday, July 12, 2021

Scheduled refresh issue with pbix report that connects to Access DB data source in PBIRS

This article discusses about the error “The login failed for data source ‘Unknown’ that occurs with scheduled refresh of pbix report that uses Access database as the data source and the solution to get the refresh to work.

 

Error message: Data source error: The login failed for data source ‘Unknown’

 

1.jpg

 

Clicking on  2.jpg  in the status, would give you details of the error:

 

3.jpg

 

Error details:

SessionID: f94a2716-08e8-47a3-87e8-668c92d4cae2
[0] -1055784932: DataFormat.Error: Unspecified error. ADB.accdb. ;Unspecified error. The exception was raised by the IDbCommand interface.

 

Though the test connection to data source succeeds, the refresh fails with the above-mentioned error.

 

 

How to get the refresh to work ?

 

For any pbix report that connects to Access db data source, you need to make sure the following steps are done to get the report refresh to work:

 

Step 1:  Make a note of the account used in the “User name” section of “Credentials” (Credentials required to connect to Access DB data source) of the pbix report for which the refresh failed. 

From the screenshot below, “abc” account is used to connect to the data source for my report.

 

4.png

 

 

Step 2:  Note down the service account used by PBIRS from “Service Account” section of Report Server Configuration manager of PBIRS

From the screenshot below, “Virtual Service account” is my PBIRS service account

 

5.png

 

Step 3: The account used to connect to the data source in pbix report (“abc” account obtained from step 1) needs to be provided permissions mentioned in the next step on the folder security of the “Temp” folder associated with the PBIRS service account (“Virtual Service account” obtained from step 2).

 

  • If you have a built-in-account configured as the service account for PBIRS (such as Virtual Service, Network Service, Local System), you should look for Temp folder in the following location on PBIRS Server:

C:\Windows\ServiceProfiles\PowerBIReportServer\AppData\Local\Temp

  • If you have a domain account configured as the service account for PBIRS, you should look for Temp folder in the following location on PBIRS Server:

C:\Windows\Users\<domain account> \AppData\Local\Temp

 

Step 4:   Provide the following permissions to the data source credential account “abc” in the folder security of PBIRS service account’s (Virtual service account) temp folder as shown below:

  • Read & Execute
  • List folder contents
  • Read
  • Write

6.jpg

 

After implementing the steps mentioned above, you should see the refresh working successfully for the pbix report.

 

Why is providing permission to PBIRS Service account’s Temp folder for the data source account, required?

 

When performing scheduled refresh for reports that use Access DB as the data source, the Mash up process performs impersonation using the account provided in the data source credentials section and hence checks the PBIRS Service account’s folder security to validate if the data source credential account used in the report has the necessary privileges. This validation decides the success/failure of the report refresh.

 

Following is a screenshot from Process Monitor (Process Monitor - Windows Sysinternals | Microsoft Docs) trace that explains the behaviour:

7.png

 

Hope this article helps you in fixing your report refresh issue!   

 

 

 

Author:  Uma S M – Technical Advisor, SQL Server BI team, Microsoft
Reviewer: Kane Conway – Escalation Engineer, SQL Server BI team, Microsoft

 

Posted at https://sl.advdat.com/2TS48s5