Forum Discussion
Issues with On-premise Gateway - Received error payload from gateway service with ID 328575
- 1 year ago
Hi v-saisrao-msft ,
Apologies for the delayed response.
The issue has now been resolved; however, we did not implement any of the suggested solutions from the support ticket or related discussions. None of the recommendations provided led directly to the resolution.
Based on our observations, the issue appears to have resolved itself over time. We suspect that updates to the On-Premises Data Gateway in newer versions may have addressed the underlying problem.
We appreciate everyone's time and effort in assisting with this matter
Best regards.
You may find that the issue here is to do with you having a later version of the data gateway app once you've gone back to install it again with a service account. Recent versions changed how the gateway service handles SQL connections in particular, requiring them to be defined as "trusted" prior to allowing them to be used.
On the server with the gateway installed, browse to C:\Program Files\On-premises data gateway and find the appropriate gateway config file, which will be Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config in your case. Make a backup of the file before you change anything.
Edit the file in a notepad window run as administrator, or use Notepad++ or equivalent, and find the entry in the XML with the tag SqlTrustedServers, which by default will look like this:
<setting name="SqlTrustedServers" serializeAs="String">
<value />
</setting>and amend it to include the values of your server hostnames, like this:
<setting name="SqlTrustedServers" serializeAs="String">
<value>SQLserver.domain.com,SQLcluster*.domain.local</value>
</setting>You can see that you can specify a comma separated list with the hostnames of your servers as used in the gateway config in MS Fabric or PowerBI connections, and can also use wildcards to reflect some or all of the hostname.
You could even trust all SQL connections through the agent like this:
<setting name="SqlTrustedServers" serializeAs="String">
<value>*</value>
</setting>but I'd not recommend it if you can avoid it, you introduce a range of risks and attack vectors.
Restart the gateway service on the machine it runs on, which is called On-premises data gateway service and then refresh the status in Fabric and if this was your cause, you should see them immediately come online.