Synapse自托管IR复制数据到ADLS Gen2无限排队证书报错如何解决
故障排查与解决方案
核心现象对齐
- 复制作业配置:Synapse Pipeline复制活动源为REST API,绑定自托管集成运行时(SHIR);接收器为Azure Data Lake Gen2,绑定Azure集成运行时(Azure IR)
- 异常表现:复制活动数据预览可正常返回REST API样本数据,但实际执行时任务无限期排队;直接测试Web调用长时间处于处理中状态;单独测试两端IR连接均显示正常;诊断工具检出证书类报错
- 认知误区澄清:数据预览走Synapse前端调试专用链路,仅拉取小批量样本,不会触发实际作业的跨IR传输握手流程,预览正常不能作为全链路连通性的判断依据
跨IR复制的实际执行逻辑是:SHIR拉取源端数据后,和Azure IR建立加密TLS通道传输数据,再由Azure IR写入接收器,任意一段TLS握手异常都会导致任务卡在排队阶段无报错抛出。
分步排查处理
- 优先修复证书信任问题(诊断检出的证书报错为核心根因)
- 登录SHIR部署所在的Windows宿主机,运行
certlm.msc打开本地计算机证书管理器 - 定位到「受信任的根证书颁发机构 > 证书」目录,检查是否缺失两类证书:
- 所调用REST API服务端HTTPS证书对应的完整根证书链
- 对应区域Azure服务的官方TLS根证书
- 手动导入缺失的根证书后,在服务列表中找到
Integration Runtime Service,执行重启操作 - 若SHIR宿主机配置了出站SSL代理,需要将代理签发的中间人根证书同样加入受信任根存储,避免代理篡改TLS握手报文导致连接挂起
- 登录SHIR部署所在的Windows宿主机,运行
- 验证跨IR链路连通性
- 在SHIR宿主机执行以下PowerShell命令,直接验证链路可用性,跳过前端预览的干扰:
# 验证REST API调用是否正常返回 Invoke-RestMethod -Uri <替换为你的REST API完整地址> -Method Get -TimeoutSec 30 # 验证到Azure IR 443端口的TCP连通性与TLS握手 Test-NetConnection <替换为你Synapse工作区对应区域的Azure IR服务地址> -Port 443 - 若上述命令执行超时或抛出TLS信任错误,对应修复网络或证书配置即可
- 在SHIR宿主机执行以下PowerShell命令,直接验证链路可用性,跳过前端预览的干扰:
- 临时规避与配置校准
- 临时将ADLS Gen2接收器的绑定IR切换为和源端一致的SHIR,测试单IR下作业是否正常执行。SHIR原生支持直连ADLS Gen2的公网/专用端点,无强制使用Azure IR的要求
- 若单IR下作业执行正常,说明原跨IR链路存在拦截,检查SHIR宿主机出站防火墙、网络安全组规则,确认已放通到Azure服务443端口的出站流量,无IP/域名拦截规则
- 检查SHIR版本,若版本距最新稳定版差距超过6个月,直接升级到最新版,旧版本SHIR存在TLS 1.2+握手兼容bug,会导致跨IR连接无响应
内容的提问来源于stack exchange,提问作者AzUser1
相关产品推荐
相关产品推荐

