Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 通过SQL代理的SSIS作业失败_Sql Server_Ssis_Sql Server 2012 - Fatal编程技术网

Sql server 通过SQL代理的SSIS作业失败

Sql server 通过SQL代理的SSIS作业失败,sql-server,ssis,sql-server-2012,Sql Server,Ssis,Sql Server 2012,我的SSIS包在Visual Studio本地运行良好。该包包含(最后)一个流程任务,用于执行生成xml文件的.exe文件 注意:之前,该包是在SQLServer2005中计划的,并且运行良好。现在,我已经将此包迁移到SQL server 2012,并在2012年创建代理作业 周一下午4点: 我将该包部署到SSIS目录,并将其安排在每周晚上7点运行 周一晚上7点: 作业成功运行 周二晚上7点: 作业失败,出现错误 以用户身份执行:ProxyID。Microsoft(R)SQL Server执行包

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

注意:之前,该包是在SQLServer2005中计划的,并且运行良好。现在,我已经将此包迁移到SQL server 2012,并在2012年创建代理作业

周一下午4点: 我将该包部署到SSIS目录,并将其安排在每周晚上7点运行

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

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

以用户身份执行:ProxyID。Microsoft(R)SQL Server执行包 适用于64位版权(C)Microsoft的实用程序版本11.0.5548.0 公司版权所有。开始时间:上午11:05:02错误: 2015-05-11 11:12:25.65代码:0xC0029151来源:执行XML生成器 执行流程任务描述:在执行中 “\Servername\path\app.exe”“”位于“”进程退出代码为“” “-532459699”,而预期值为“0”。结束错误DTExec:程序包 执行返回DTSER_失败(1)。开始时间:上午11:05:02完成时间: 上午11:12:25经过:442.922秒。包执行失败。 步骤失败了

周三下午4点:

  • 打开代理作业

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

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

  • 从目录中选择所需的包

  • 按下OK

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

    周四晚上7点:作业失败,出现上述错误

    周五下午4点: 我做了和周三下午4点做的一样的事情

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

    为什么计划的包和SQL代理作业的行为是这样的?
    请提供您的建议和帮助。我必须在下次运行之前解决此问题。非常感谢您的帮助。

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


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

    当我选中SQL代理作业中的“32位选项”运行时,该包失败,并出现相同的错误。我没有收到您的建议“将dtexec的运行目录更改为程序文件x86中的目录。该标志位于命令行exe中”。你能详细说明一下吗。感谢您的帮助。因此,当执行SSIS包时,它将使用dtexec.exe实用程序来运行。因此,您应该具有类似C:\Program Files\Microsoft SQL Server\110\DTS\Binn\DTExec.exe的文件路径。这个是64位的。另一个是C:\ProgramFiles(x86)\Microsoft SQL Server\110\DTS\Binn\DTExec.exe。除此之外,我不确定为什么从2005年开始使用相同配置的计划SSIS包会失败。如何将dtexec的运行目录更改为x86程序文件?若要强制执行此操作,请将作业步骤从SQL Server Integration Services package类型更改为操作系统(CmdExec)。然后将命令的完整路径添加到命令的开头。类似于C:\Program Files(x86)\Microsoft SQL Server\110\DTS\Binn\DTExec.exe/SQL“\”维护计划\DatabaseIntegrityOptimization\”“/Server“\”/CHECKPOINTING OFF/SET“\”\Package\Subplan\u 1.禁用\”;虚假/举报