You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无人登录服务器时远程SQL Server拒绝SSIS连接的原因排查

问题分析与排查方案

核心原因推测

1. 执行上下文的网络/证书权限差异

SSIS包运行时使用的是服务/调用账户的非交互式会话,而DBA RDP登录是交互式会话,两者的网络配置和权限完全隔离:

  • 非交互式账户的证书存储可能缺少远程SQL Server TLS握手所需的根证书,导致TLS连接中断(错误10054常见于TLS握手失败);
  • 交互式用户的个人证书存储通常会同步域内根证书,能正常完成TLS验证。

2. Kerberos身份验证或委派故障

如果SSIS调用账户是域账户,可能存在以下问题:

  • 远程SQL Server的SPN(服务主体名称)未正确注册,导致服务账户无法获取有效的Kerberos票证,连接请求根本无法发起(因此防火墙看不到该账户的流量);
  • 服务账户未被配置为允许委派到远程SQL Server,导致身份验证失败,连接被中断。

3. 网络策略的会话限制

部分防火墙或网络设备会对非交互式会话的流量进行拦截:

  • 网络团队可能配置了仅允许交互式登录用户发起SQL连接的策略,导致服务账户的连接请求被直接丢弃,无流量日志;
  • 服务账户可能被限制在本地网络段,无法访问远程SQL Server所在网段。

4. 本地安全策略限制

SSIS调用账户可能未被授予从网络访问此计算机的权限,或者被误加入拒绝从网络访问此计算机列表,导致无法发起远程连接。

排查步骤

  • 验证证书存储权限:以SSIS调用账户身份运行mmc,添加「证书」管理单元,检查「个人」和「受信任的根证书颁发机构」是否包含远程SQL Server的TLS证书;
  • 测试Kerberos配置:
    • 在远程SQL服务器执行setspn -L <SQL服务账户>,确认MSSQLSvc/<服务器名>:1433类的SPN已注册;
    • 在SSIS服务器用runas /user:<SSIS调用账户> cmd.exe打开命令行,执行klist查看是否存在远程SQL的Kerberos票证;
  • 测试服务账户的网络连通性:用上述runas打开的命令行,执行Test-NetConnection <SQL服务器IP> -Port 1433,确认是否能建立TCP连接;
  • 检查本地安全策略:打开secpol.msc,查看「本地策略」->「用户权限分配」中的「从网络访问此计算机」,确保SSIS调用账户在允许列表内;
  • 确认网络策略:和网络团队核实是否存在针对非交互式账户的流量拦截规则,是否需要为SSIS调用账户配置专属的防火墙允许规则。

内容的提问来源于stack exchange,提问作者Narasimha Rao

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 05:02:19