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

SQL Server Agent运行含Python脚本的SSIS包失败如何解决

故障根因排查
  • UI会话缺失问题:SQL Server Agent属于Windows后台服务,默认运行在非交互式会话中,没有桌面图形环境,你当前的Chrome配置是启动带界面的浏览器,无法在无UI的后台会话中初始化,直接抛出异常导致进程退出码为1,这是该场景下最常见的故障原因。
  • 账号权限问题:本地Visual Studio运行时使用的是当前登录的Windows账号,而SQL Agent作业的执行账号(错误日志中显示为DESKTOP-3SDAFD\4664656)可能没有以下权限:
    • C:\Python\Python392目录的执行权限
    • C:\Script、C:\DownloadFolder目录的读写权限
    • Chrome浏览器、chromedriver.exe的执行权限
  • 依赖包作用域问题:如果selenium、pandas等第三方包是当前用户通过pip用户级安装(路径在当前用户的AppData目录下),SQL Agent执行账号没有权限访问这些包,会触发导入错误。
  • 路径转义错误:代码中chromedriver路径写为"C:\Script\chromedriver.exe",Python中单斜杠为转义字符,部分场景下会解析错误,导致找不到驱动文件。
解决方案
  1. 修改Chrome适配后台运行的配置,添加无头运行参数,删除无UI场景下无效的最大化参数,同时修复路径转义问题,参考修改后的代码段:
option = webdriver.ChromeOptions()
prefs = {"download.default_directory" : "C:\\DownloadFolder\\"}
option.add_experimental_option("prefs",prefs)
# 新增以下后台运行适配参数
option.add_argument("--headless=new") # Chrome 112+版本使用该参数,旧版本用--headless=chrome
option.add_argument("--disable-gpu")
option.add_argument("--no-sandbox")
option.add_argument("--disable-dev-shm-usage")
# 修复路径转义问题,添加r前缀标记为原始字符串
chromedriver = r"C:\Script\chromedriver.exe"
driver = webdriver.Chrome(executable_path=chromedriver, options=option)
  1. 配置权限:右键点击C:\Python、C:\Script、C:\DownloadFolder三个目录,依次打开【属性】-【安全】,给执行账号DESKTOP-3SDAFD\4664656授予完全控制权限。如果SQL Agent服务使用的是默认内置账号,可修改为你本地能正常运行脚本的Windows账号。
  2. 全局安装Python依赖:打开管理员权限的CMD,执行以下命令全局安装所有依赖,确保所有用户都能访问:
    pip install --upgrade selenium pandas beautifulsoup4
  3. 增加日志排查能力:在脚本开头添加日志重定向代码,把运行时的输出和错误写入文件,方便定位具体问题:
import sys
sys.stderr = open(r'C:\Script\python_err.log', 'a', encoding='utf-8')
sys.stdout = open(r'C:\Script\python_out.log', 'a', encoding='utf-8')

作业执行失败后查看两个日志文件即可拿到Python层面的具体报错信息。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 04:51:03