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

SSIS作业执行失败:连接错误与只读数据库问题排查

问题分析与解决方案

报错信息(已翻译)

源验证失败,返回错误0xC020801C
SSIS错误代码DTS_E_CONNATACQUIRECONNECTIONFROMCONNECTIONMANAGER. 对连接管理器"source excel"调用AcquireConnection方法失败,错误代码0xC0202009。此前可能有更多错误信息说明失败原因。
SSIS错误代码DTS_E_OLEDBERROR. STG_DIM 发生OLE DB错误,错误代码:0x80004005。存在OLE DB记录,来源:"Microsoft Access Database Engine",Hresult: 0x80004005,描述:无法更新。数据库或对象为只读。

核心原因

直接从Integration Server目录执行包时,使用的是当前登录用户的Windows权限;而SQL Server Agent作业执行时,使用的是SQL Server Agent服务账户的权限,两者权限不一致导致无法正常访问Excel文件。

解决步骤

  • 检查Agent服务账户权限

    1. 打开services.msc,找到SQL Server Agent服务,查看其登录账户。
    2. 给该账户配置Excel文件所在远程目录的读取权限(若包需要修改文件如移动、重命名,需额外添加写入权限)。
    3. 若Agent使用Network Service账户,需给机器账户(格式:域名\机器名$)配置对应目录权限。
  • 取消文件/目录只读属性

    1. 右键目标Excel文件→属性,取消“只读”选项的勾选。
    2. 检查文件所在目录的权限设置,确保Agent账户未被限制为只读访问。
  • 配置作业步骤的代理账户

    1. 在SQL Server代理中新建代理:关联拥有Excel文件访问权限的Windows凭据。
    2. 编辑作业步骤,在“运行身份”下拉菜单中选择新建的代理账户,让作业以有权限的账户执行。
  • 匹配驱动运行位数
    若SSIS包是基于32位Access Database Engine开发的,在作业步骤的高级选项里勾选“使用32位运行时”,保证运行环境与驱动位数一致。

内容的提问来源于stack exchange,提问作者C-El

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 09:02:16