Pho*_*nix 2 sql-server ssis sql-server-2008 sql-agent
我有一个SQL Server 2008 SSIS作业,它执行一些Win 32 exe文件.当我通过BIDS(在Windows 2008框中)执行作业时,此作业运行正常.现在我已经在MSDB数据库中部署了包并尝试将包作为SQLAgent Job执行.
当我这样做时,作业失败并在执行Win 32 exe时抛出错误消息.我能够在同一台服务器上运行批处理文件中的exe.但是当SQLServer代理作业尝试执行时,会抛出以下错误
代码:0xC0029151,进程退出代码为"1",而预期为"0".结束错误DTExec:程序包执行返回DTSER_FAILURE(1).
有任何想法吗?
我的假设是服务器是64位服务器,是吗?如果是这样,代理将在64位模式下运行SSIS,这会导致与可执行文件不兼容.
在代理程序作业中,在"执行选项"选项卡上,选中"使用32位运行时",它应该没问题.

该问题被标记为2008但如果我没记错的话,2005 SQL Server Integration Services Package类型的SQL Agent任务没有在32位模式下运行的选项,默认情况下一切都以64位模式运行.为了解决这个问题,需要运行一个操作系统命令并调用32位dtexec.exe,这很可能是在C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\DTExec.exe