跨服务器执行SSIS包异常:Server B到Server C连接失败求助
问题诊断与解决方案
- Kerberos双跳限制:这是此类跨服务器身份验证问题的核心原因。当从Server A发起请求到Server B,再由B访问Server C时,Windows身份验证默认无法完成"双跳"的凭据传递——即使所有服务账户一致,也需要配置Kerberos约束委派。
- 操作步骤:
- 在域控制器上,为Server B的SSIS服务账户注册针对Server C的SSAS服务SPN(服务主体名称),命令为
setspn -S MSOLAPSvc.3/<ServerC_FQDN>:<SSAS_Instance> <SSIS_Service_Account> - 在AD用户和计算机中,找到该SSIS服务账户,开启"信任此用户用于委派到指定服务",并添加Server C的
MSOLAPSvc.3服务。
- 在域控制器上,为Server B的SSIS服务账户注册针对Server C的SSAS服务SPN(服务主体名称),命令为
- 操作步骤:
- SSIS包执行上下文差异:直接在Server B本地执行包时,使用的是本地会话的身份上下文;而从Server A远程触发执行时,包以SSIS服务账户的身份运行,若未配置委派,无法将凭据传递到Server C。同时检查包的保护级别,避免因凭据加密导致身份信息无法正确传递。
- 网络端口与防火墙验证:确认Server C的SSAS服务端口(默认2383,命名实例需查询具体端口)在Server B的出站防火墙规则中开放,且中间网络无拦截(虽然本地执行正常,但仍需排除特殊路由场景)。
- SSMS远程执行的身份验证确认:确保Server A上的SSMS使用Windows身份验证连接Server B的SSIS服务,且当前登录A的用户拥有在B上触发包执行的权限,同时该用户的域账户已被允许委派到Server C的SSAS服务。
内容的提问来源于stack exchange,提问作者raphi5430
相关产品推荐
相关产品推荐

