Выполнение пакета служб SSIS в качестве задания SQLAgent - PullRequest
2 голосов
/ 16 октября 2011

У меня есть задание SSIS для SQL Server 2008, которое выполняет некоторые исполняемые файлы Win 32. Это задание работает нормально, когда я выполняю задание через BIDS (в Windows 2008 box). Теперь я развернул пакет в базе данных MSDB и пытаюсь выполнить его как задание SQLAgent.

Когда я делаю это, работа завершается сбоем и выдает сообщение об ошибке во время выполнения Win 32 exe. Я могу запустить EXE из командного файла на том же сервере. Но когда задание агента SQLServer пытается выполнить, оно выдает ошибку ниже

Код: 0xC0029151, Код завершения процесса был "1", а ожидаемый был "0". Ошибка завершения DTExec: выполнение пакета вернуло DTSER_FAILURE (1).

Есть идеи?

Ответы [ 2 ]

7 голосов
/ 17 октября 2011

Я предполагаю, что сервер является 64-битным сервером, да? Если это так, агент будет работать с SSIS в 64-битном режиме, что приводит к несовместимости с исполняемыми файлами.

В задании агента на вкладке Параметры выполнения выберите «Использовать 32-разрядную среду выполнения», и все должно быть в порядке.

enter image description here

Вопрос помечен как 2008, но, если я правильно помню, в задачах агента SQL 2005 типа пакета служб интеграции SQL Server не было возможности работать в 32-разрядном режиме, и по умолчанию все выполнялось в 64-разрядном режиме. Чтобы обойти это, нужно было запустить команду ОС и вызвать 32-битный dtexec.exe, который, скорее всего, был найден в C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\DTExec.exe

1 голос
/ 09 декабря 2011

Это также необходимо изменить на BIDS.Обозреватель решений> Щелкните правой кнопкой мыши Свойства проекта> Свойства конфигурации> Параметры отладки> Run64BitRuntime - False enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...