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

通过SSIS执行包从SFTP拉取文件时连接失败报错求助

SQL Server Agent执行SFTP任务失败排查

错误信息

执行用户为/。回溯(最近的调用先发生):文件"E:/file//import_file_.py"第18行,在with pysftp.Connection(host=myHostname, username=myUsername, password=myPassword, cnopts=cnopts) as sftp:处抛出异常;调用链最终指向paramiko.ssh_exception.SSHException:无法连接sftp.site.com: [WinError 10060] 连接尝试失败,因为连接方在一段时间后未正确响应,或已建立的连接失败,因为连接的主机未能响应。
Microsoft (R) SQL Server Execute Package Utility 版本15.0.4312.2(64位),版权所有(C)2019 Microsoft。保留所有权利。开始时间:14:42:00
错误:2023-07-31 14:42:43.27,代码:0xC0029151,来源:Execute Process Task Execute Process Task,描述:执行"C:\Users\tt\AppData\Local\Programs\Python\Python311\python.exe" "E:/file//import_file_.py "于"E:\tt\file\data"时,进程退出码为"1",预期为"0"。
结束错误。DTExec:包执行返回DTSER_FAILURE(1)。开始时间:14:42:00,结束时间:14:42:43,耗时:42.828秒。包执行失败,步骤失败。

执行代码

from msilib.schema import Directory
import pysftp
import os
import glob
import fnmatch
from datetime import date, timedelta

#assuming that I have a connection to the SFTP server
 
cnopts = pysftp.CnOpts()

cnopts.hostkeys = None

myHostname = 'sftp.mm.com'
myUsername = 'name'
myPassword = '**'

with pysftp.Connection(host=myHostname, username=myUsername, password=myPassword, cnopts=cnopts) as sftp:
    print("Connection Success")
    remotefilepath='/data.zip/'
    localfilepath= r'E:\\data.zip'
    sftp.get(remotefilepath,localfilepath)
    print("File transfer Success")

排查与解决建议

  • 网络连通性验证
    • 在SQL Server Agent所在服务器执行ping sftp.mm.com,确认域名解析正常、网络链路可达;若ping不通,排查DNS配置或服务器网络出口限制。
    • 执行telnet sftp.mm.com 22(SFTP默认端口),检查端口是否开放;若连接失败,排查本地服务器防火墙、网络防火墙或SFTP服务器端防火墙规则。
  • Agent服务权限调整
    SQL Server Agent默认使用系统账户运行,该账户可能无外部网络访问权限,或无法读取Python环境依赖文件。将Agent服务切换至具备网络访问权限的本地账户/域账户,并确保该账户可访问Python安装路径及脚本文件。
  • 代码配置修正
    • 修正远程文件路径:remotefilepath='/data.zip/'末尾多余斜杠,改为remotefilepath='/data.zip'(SFTP指向文件时不应加结尾斜杠)。
    • 核对域名一致性:错误信息中显示连接sftp.site.com,但代码中配置的是sftp.mm.com,确认后修正域名。
    • 恢复主机密钥验证:移除cnopts.hostkeys = None,提前将SFTP服务器主机密钥添加至服务器的known_hosts文件,避免安全风险。
  • 本地脚本测试
    在服务器上直接运行python "E:/file//import_file_.py",若本地执行正常但Agent运行失败,重点排查Agent运行账户的权限差异、环境变量配置(如Python路径)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 09:41:03