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

非SQL Server Agent运行SSIS时平面文件文件夹权限错误咨询

根因分析

你遇到的问题核心是Kerberos双跳身份验证限制,以及SSIS目录默认执行上下文的权限逻辑:

  • 当你通过SQL Agent作业运行时,作业直接用你配置的凭据访问网络共享,属于单跳身份验证,NTLM协议也支持,所以运行正常
  • 当你通过SSMS、DTEXEC、catalog.start_execution发起执行时,身份验证链路是「发起请求的客户端→SQL Server→网络共享」,属于两跳请求,默认NTLM协议不支持身份信息传递,导致SSIS执行进程拿到的身份是匿名或者无效身份,无法访问网络共享,哪怕你登录SSMS的账号有权限也没用。
最优解决方案(无需修改现有业务逻辑,无需新增中间层)

方案1:配置Kerberos约束委派(无侵入,无需改包)

适合企业AD管理规范的场景,操作完成后所有调用方式都可以直接用,不需要改任何包逻辑:

  1. 为SQL Server服务账号注册服务主体名称(SPN),在域控上用域管理员权限执行以下命令:
setspn -S MSSQLSvc/<SQL实例主机名>:<端口> <域\SQL服务账号>
setspn -S MSSQLSvc/<SQL实例主机FQDN>:<端口> <域\SQL服务账号>
  1. 在域控的用户属性中,为SQL Server服务账号配置约束委派,允许它委派到网络共享所在服务器的CIFS服务
  2. 调用catalog.start_execution启动包前,显式指定执行身份为你配置的有权限的域账号:
DECLARE @execution_id BIGINT
EXEC SSISDB.catalog.create_execution 
    @package_name=N'你的包名.dtsx',
    @execution_id=@execution_id OUTPUT,
    @folder_name=N'你的SSIS目录文件夹名',
    @project_name=N'你的项目名',
    @use32bitruntime=False,
    @reference_id=Null

-- 显式指定运行身份(系统参数,参数类型为2)
EXEC SSISDB.catalog.set_execution_parameter_value 
    @execution_id,
    @object_type=2,
    @parameter_name=N'RUNAS_USER_NAME',
    @parameter_value=N'域\有权限的账号'

-- 设置你要修改的自定义参数
EXEC SSISDB.catalog.set_execution_parameter_value 
    @execution_id,
    @object_type=30,
    @parameter_name=N'你的自定义参数名',
    @parameter_value=N'参数值'

EXEC SSISDB.catalog.start_execution @execution_id

方案2:包内挂载网络共享(改包成本极低,无需改AD配置)

适合不想动AD配置的场景,只需要给包加2个参数、2个执行进程任务即可:

  1. 在SSIS包中新增两个项目参数:
    • NetShareUser:字符串类型,默认值填你配置的有权限的域账号(格式:域\账号)
    • NetSharePwd:字符串类型,设置为敏感参数,默认值填对应账号的密码
  2. 在现有数据流任务之前,新增一个「执行进程任务」,配置如下:
    • 可执行文件:cmd.exe
    • 参数:/c net use \\<网络共享根路径> /user:@[$Project::NetShareUser] @[$Project::NetSharePwd]
  3. 在包所有访问网络共享的任务执行完成后,再新增一个「执行进程任务」,配置如下:
    • 可执行文件:cmd.exe
    • 参数:/c net use \\<网络共享根路径> /delete
  4. 重新部署包即可,定时运行时用默认参数,手动运行时可以传自定义的参数值,也可以单独传共享账号密码参数适配不同权限场景。
方案对比

以上两个方案都不需要新增参数表、额外同步任务,不会引入新的故障点,远优于你提到的两个替代方案:

  • 方案1完全无侵入,不需要改包,适合包逻辑复杂、不想修改的场景
  • 方案2改造成本极低,不依赖AD配置,通用性更强

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 03:54:03