Azure Synapse Bulk Load报token标识主体登录失败的原因及解决办法
Synapse批量加载操作报错解决方案
问题背景
参照Azure官方发布的Synapse Studio批量加载快速入门文档操作,执行步骤章节第5步脚本时触发如下报错,已确认账号持有工作区关联Data Lake Storage Gen2的Storage Blob Data Contributor角色权限:
Login failed for user 'token-identified principal'.
报错截图如下:
可能诱因及修复方案
- 诱因1:当前登录的Azure AD账号未被授予Synapse专用SQL池的访问权限
修复方案:使用SQL管理员账号登录Synapse专用SQL池,依次执行以下命令为账号授权,替换命令中的邮箱为你登录Synapse Studio的Azure AD邮箱:CREATE USER [xxx@xxx.onmicrosoft.com] FROM EXTERNAL PROVIDER; EXEC sp_addrolemember 'db_owner', [xxx@xxx.onmicrosoft.com]; - 诱因2:Synapse工作区系统托管标识缺失ADLS Gen2的访问权限
修复方案:进入对应ADLS Gen2存储账户的访问控制(IAM)页面,添加工作区的系统托管标识,授予Storage Blob Data Contributor角色权限。 - 诱因3:SQL脚本执行时的身份验证方式配置错误
修复方案:在Synapse Studio脚本编辑页的顶部连接栏,选择身份验证方式为Azure Active Directory - 通用身份验证,确认登录账号与你当前使用的Azure AD账号一致后重新执行脚本。 - 诱因4:Synapse工作区防火墙拦截了当前客户端IP
修复方案:进入Synapse工作区的网络设置页面,将你当前设备的公网IP添加到防火墙允许列表,同时开启"允许Azure服务和资源访问该工作区"选项。 - 诱因5:目标专用SQL池状态异常或名称拼写错误
修复方案:检查脚本连接的SQL池名称是否准确,进入工作区管理界面确认目标SQL池处于运行状态,若为暂停状态则先启动SQL池再重试操作。
内容的提问来源于stack exchange,提问作者nam
相关产品推荐
相关产品推荐


