通过SQL代理

时间:2015-06-05 18:16:20

标签: sql-server ssis sql-server-2012

我的SSIS包在本地Visual Studio中运行良好。该软件包包含(最后)一个进程任务,用于执行生成xml文件的.exe文件。

注意:早些时候,该软件包是在SQL Server 2005中安排的,它运行正常。现在,我已将此包迁移到SQL Server 2012并在2012年创建代理作业。

周一下午4点: 我将软件包部署到SSIS目录,并安排它每周一天下午7点运行。

周一晚上7点: 工作顺利进行。

周二晚上7点: 作业失败,错误

  

以用户身份执行:ProxyID。 Microsoft(R)SQL Server执行包   实用程序版本11.0.5548.0 for 64位版权所有(C)Microsoft   公司。版权所有。开始时间:上午11:05:02错误:   2015-05-11 11:12:25.65代码:0xC0029151源:执行XML生成器   执行流程任务描述:执行中   " \服务器名\路径\ APP.EXE" "" at"",流程退出代码是   " -532459699"而预期的是" 0" 。结束错误DTExec:包   执行返回DTSER_FAILURE(1)。开始时间:上午11:05:02已完成:   11:12:25 AM经历:442.922秒。包执行失败。   步骤失败了。

周三下午4点:

  1. 已打开代理作业

  2. 在作业步骤中,取消选择SSIS目录选项(所有内容都已重置)

  3. 再次选择SSIS目录并提供相同的服务器名称

  4. 从目录

  5. 中选择所需的包
  6. 按下确定

  7. 周三晚上7点:作业成功运行

    周四晚上7点:作业失败并出现同样的错误。

    周五下午4点: 我在星期三下午4点做了同样的事情。

    周五下午7点: 工作顺利进行。

    为什么安排的程序包和SQL代理程序作业的行为如下? 请提供您的建议和帮助。我必须在下次运行之前解决这个问题。非常感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

您将从2005年升级到更高版本。确保程序包使用/ x86标志以32位模式运行,或者将dtexec的运行目录更改为Program Files x86中的目录。该标志位于命令行exec中,但如果您将其作为SSIS包执行,则SQL代理作业中有一个复选框。

它将在本地运行正常,因为Visual Studio以32位模式运行。