Azure DataFactories 链接到 Synapse Analytics sqloperationfailed 错误

问题描述 投票:0回答:1

我尝试在数据工厂中创建从 ADLS 到 Synapse sql 无服务器 sql 池的链接服务,但出现错误:

SqlOperationFailed
A database operation failed with the following error: 'External table 'dbo.Ren' is not accessible because location does not exist or it is used by another process.'
External table 'dbo.Ren' is not accessible because location does not exist or it is used by another process., SqlErrorNumber=16562,Class=16,State=1,

我无法修复它。我也尝试使用 Data Studio 并收到相同的错误。我尝试重新连接、重新创建突触并重新创建一切。此外,我尝试断开 Data Lake 存储链接与突触的连接,但未能成功。

hyperlink azure-data-factory azure-synapse sink
1个回答
0
投票
 'External table 'dbo.Ren' is not accessible because location does not exist or it is used by another process.'
External table 'dbo.Ren' is not accessible because location does not exist or it is used by another process.,

确保数据工厂有权访问 ADLS 帐户数据,因为这可能是导致上述错误的原因。要访问 ADLS 数据,ADF 工作区应在 ADLS 帐户中具有

storage blob data contributor
角色。要添加角色,请按照以下步骤操作:

  1. 进入存储帐户的访问控制,单击添加,然后选择添加角色分配,如下所示:

    enter image description here

  2. 搜索Storage Blob Data Contributor角色,选择它,然后单击“下一步”,如下所示:

    enter image description here

  3. 检查托管身份,选择 ADF 托管身份,然后单击“查看 + 分配”,如下所示:

    enter image description here

  4. 分配角色后,为数据工厂创建一个用户,并使用以下代码在无服务器 SQL 池中为其分配角色:

    CREATE USER [<ADFName>] FROM EXTERNAL PROVIDER
    ALTER ROLE db_owner ADD MEMBER [ADFName]
    
  5. 创建具有托管身份验证的链接服务,如下所示:

    enter image description here

  6. 使用 dbo.Ren 表的链接服务创建数据集,您将能够成功读取该表,如下所示:

    enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.