SSIS 包在 SQL 作业中作为步骤调用时未运行

标签 ssis permissions sql-server-agent

我有一个 .dtsx 文件(一个 SSIS 包),它从 FTP 服务器下载文件并导入数据。每当我手动运行它时,它运行良好。但是,当我将调用包作为 SQL Server 代理作业中的一个步骤进行调度时,它失败了。它失败的步骤是我调用 .bat 文件的步骤。工作历史查看器中的错误说明如下:

Error: 2009-05-26 12:52:25.64
Code: 0xC0029151 Source: Execute batch file Execute Process Task
Description: In Executing "D:\xxx\import.bat" "" at "", The process exit code was "1" while the expected was "0". End Error DTExec: The package execution returned DTSER_FAILURE (1).



我认为这是一个权限问题,但我不确定如何解决这个问题。作业所有者是管理员用户,因此我已验证他们对 .bat 文件所在的目录具有权限。我尝试进入服务并更改 SQL Server 代理的“登录身份”选项,但两个选项都不起作用(本地系统帐户和此帐户)。有没有人知道需要调整哪些其他权限才能使其正常工作?

最佳答案

对我来说,这是一个权限问题。转到环境 --> 目录,然后将本地目录更改为 SQLAgentUser 可以访问的内容。我使用了 C:\temp。单击保存下拉菜单,然后选择“设置默认值”。

关于SSIS 包在 SQL 作业中作为步骤调用时未运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/912950/

相关文章:

merge - 在数据流任务中,如何使用其他源的值限制行流动?

ssis - 带有 EzApi 的平面文件源

sql-server - 如何确定 SSIS 包 (.dtsx) 是由 BIDS 2005 还是 2008 创建的?

Linux更改组权限以匹配所有者权限

c# - 使用参数调用存储过程时遇到问题

sql-server - SQL Server : should I use an "Agent Job" or a "Maintenance Plan" to delete old data?

sql - 我如何需要将 ID 和名称传递给变量并执行过程

java - 3 : Permission denied. 在 com.jcraft.jsch.ChannelSftp.throwStatusError(ChannelSftp.java:2846)

django - 单元测试权限

SSIS 服务器维护作业错误