我正在尝试创建与连接到 ADSL 存储的 Synapse Link Serverless SQL 池的 ADF 链接服务连接。我可以成功建立连接,但是当我尝试使用数据集访问数据时,我遇到了权限问题。
这是我在 ADF 中使用数据集时遇到的错误。
我还可以查看 SSMS 中的模式,它们在其中显示为外部表。但在同一点出现类似的凭据错误。
请问有人遇到过这个问题吗?
我正在尝试创建与连接到 ADSL 存储的 Synapse Link Serverless SQL 池的 ADF 链接服务连接。我可以成功建立连接,但是当我尝试使用数据集访问数据时,我遇到了权限问题。
这是我在 ADF 中使用数据集时遇到的错误。
我还可以查看 SSMS 中的模式,它们在其中显示为外部表。但在同一点出现类似的凭据错误。
请问有人遇到过这个问题吗?
您的问题中没有提供一些信息,但我相信我知道发生了什么。外部表在 Synapse Studio 中工作,因为您已使用 AAD 帐户连接到无服务器 SQL 池,并且它通过您的 AAD 凭据传递到数据湖并成功。
但是,当您将链接服务设置到无服务器 SQL 池时,我猜您使用了 SQL 身份验证帐户作为凭据。使用 SQL 身份验证,它不知道如何使用数据湖进行身份验证,因此寻找服务器范围的凭据但找不到。
当您使用我猜的 SQL 身份验证帐户从 SSMS 连接时,也会发生同样的情况。
你有几个选择。如果能够使用 SQL auth 访问外部表很重要,您可以执行以下命令来告诉它如何访问数据湖。这假定 Synapse Workspace 托管服务标识在数据湖上具有存储 Blob 数据读取者或存储 Blob 数据参与者角色。
CREATE CREDENTIAL [https://<YourDataLakeName>.dfs.core.windows.net]
WITH IDENTITY = 'Managed Identity';
或者,您可以更改链接服务的身份验证以使用托管服务标识。