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

SSIS作业将IP改为服务器名后仍无法获取连接问题求助

SSIS包更换服务器名后仍无法运行的排查问题

问题背景

  • 原有SSIS作业通过IP地址连接SQL Server,更换子网IP后失效,符合预期
  • 将连接字符串中的IP替换为服务器名后,作业仍无法运行,但其他使用相同服务器名的作业正常
  • 连接字符串(仅Application Name不同的其他作业可正常运行):
Data Source=[servername];User ID=SQLDTS;Initial Catalog=Policyholder;Persist Security Info=True;MultipleActiveResultSets=True;Application Name=SSIS-JOB_TEMP_TABLE_CLEANUP-{[unique ID of connection string in package]}DEVSVR.Policyholder.SQLDTS1;
  • 错误信息:

Execute SQL Task Description: Failed to acquire connection "DevSvr.Policyholder.SQLDTS1". Connection may not be configured correctly or you may not have the right permissions on this connection. End Error DTExec: The package execution returned DTSER_FAILURE (1). Started: 8:11:37 AM Finished: 8:11:37 AM Elapsed: 0.687 seconds. The package execution failed. The step failed.

排查方向

  1. 检查作业代理账户的DNS解析能力
    作业由SQL Server Agent运行,代理账户的DNS配置可能和你本地账户不同。用代理账户登录到服务器,执行ping [servername]或nslookup [servername],确认能否解析到新IP。若解析失败,要么给代理账户配置正确DNS,要么在服务器hosts文件手动映射服务器名与新IP。

  2. 验证服务器名的准确性
    注意实例名大小写(尤其Linux环境的SQL Server可能敏感),对比正常作业的连接字符串,确保[servername]完全一致,包括是否带实例后缀(如SERVERNAME\INSTANCE)。

  3. 确认SSIS包的配置来源
    若作业使用配置文件/环境变量/SSISDB参数而非包内硬编码的连接字符串,你修改包内内容无效。打开作业步骤配置,检查是否引用外部配置,同步更新外部配置里的连接信息。

  4. 测试代理账户与SQLDTS账号的权限
    用作业代理账户身份登录服务器,通过SSMS用SQLDTS账号连接目标服务器,尝试访问Policyholder数据库。排查SQLDTS账号是否被新IP的防火墙规则限制,或SQL Server登录是否绑定旧IP。

  5. 检查Application Name的格式
    你的Application Name包含{[unique ID...]}占位符,确认实际包内的ID无特殊字符或格式错误,对比正常作业的Application Name格式,避免因字符串解析异常导致连接失败。

  6. 查看目标SQL Server的错误日志
    去目标服务器的SQL Server错误日志中查找对应登录失败记录,里面会有更具体的失败原因(如登录拒绝、连接超时、身份验证失败等),比SSIS的泛化提示更精准。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 01:39:39