Home > Enterprise >  ADF Unable to connect to Synapse Link SQL Pool External Tables
ADF Unable to connect to Synapse Link SQL Pool External Tables

Time:02-26

I am trying to create an ADF Linked Service connection to a Synapse Link Serverless SQL Pool connected to ADSL Storage. I can successfully get a connection but when I try and use a dataset to access the data I get a permission issue.

I can successfully access the data via Synapse studio : enter image description here

This is the error I get when I use the data set in ADF.

enter image description here

I can also look at the schemas in SSMS , where they appear as External tables. But get a similar credential error at the same point.

Has anyone come across this issue please ?

CodePudding user response:

There are a few pieces of information you haven’t supplied in your question but I believe I know what happened. The external table worked in Synapse Studio because you were connected to the Serverless SQL pool with your AAD account and it passed through your AAD credentials to the data lake and succeeded.

However when you setup the linked service to the Serverless SQL Pool Im guessing you used a SQL auth account for the credentials. With SQL auth it doesn’t know how to authenticate with the data lake so looked for a server scoped credential but couldn’t find one.

The same happened when you connected from SSMS with a SQL auth account I’m guessing.

You have several options. If it’s important to be able to access the external table with SQL auth you can execute the following to tell it how to access the data lake. This assumes the Synapse Workspace Managed Service Identity has Storage Blob Data Reader or Storage Blob Data Contributor role on the data lake.

CREATE CREDENTIAL [https://<YourDataLakeName>.dfs.core.windows.net]
WITH IDENTITY = 'Managed Identity';

Or you could change the authentication on the linked service to use the Managed Service Identity.

  • Related