2015-06-05 3 views
1

Мой пакет SSIS работает нормально в Visual Studio локально. Пакет содержит (в конце) задачу процесса для выполнения .exe-файла, который генерирует XML-файл.Сбой службы SSIS через агента SQL

Примечание: Ранее пакет был запланирован на SQL Server 2005, и он работал нормально. Теперь я мигрировал этот пакет для SQL Server 2012 и создания агента работы в 2012 году

На понедельник 4 вечера: Я развернула пакет в каталог SSIS и назначил его работать каждый день недели в 7 вечера.

Понедельник 7: Работа выполнена успешно.

вторник 7 PM: Работа с ошибкой

Executed as user: ProxyID. Microsoft (R) SQL Server Execute Package Utility Version 11.0.5548.0 for 64-bit Copyright (C) Microsoft Corporation. All rights reserved. Started: 11:05:02 AM Error: 2015-05-11 11:12:25.65 Code: 0xC0029151 Source: Execute XML Generator Execute Process Task Description: In Executing "\Servername\path\app.exe" "" at "", The process exit code was "-532459699" while the expected was "0". End Error DTExec: The package execution returned DTSER_FAILURE (1). Started: 11:05:02 AM Finished: 11:12:25 AM Elapsed: 442.922 seconds. The package execution failed. The step failed.

Среда 4 PM:

  1. открыл задание агента

  2. В шаге задания, отменяется SSIS каталог (все сбрасывается)

  3. Снова выбранный каталог SSIS и при условии, что такое же имя сервера

  4. Выбранный необходимый пакет из каталога

  5. прессованная OK

среда 7 PM: Работа выполнена успешно

Четверг, 19:00: Работа выполнена с ошибкой выше указанной ошибки.

Пятница 16:00: Я сделал то же самое, что и в среду, 16:00.

Пятница, 7 ч. 00 м.: Работа выполнена успешно.

Почему запланированное задание пакета и SQL-агента ведет себя следующим образом? Просьба представить свои предложения и помощь. Я должен решить эту проблему до следующего запуска. Ваша доброжелательная помощь будет высоко оценена.

ответ

1

Вы отправляетесь с 2005 года на более высокую версию. Убедитесь, что пакет работает в 32-битном режиме с использованием флага/x86 или измените каталог запуска для dtexec на файл в Program Files x86. Флаг находится в командной строке exec, но есть флажок в задании агента SQL, если вы выполняете его как пакет SSIS.

Он будет работать нормально локально, потому что Visual Studio работает в 32-разрядном режиме.

+0

Пакет завершается с той же ошибкой, пока я проверяю запуск как «32-битная опция» в задании агента SQL. – p2k

+0

Я не получил ваше предложение «изменить каталог запуска для dtexec на тот, что находится в Program Files x86. Флаг находится в командной строке exe». Не могли бы вы рассказать. Спасибо за вашу помощь. – p2k

+0

Итак, когда пакет SSIS выполняется, он использует утилиту dtexec.exe для запуска. Таким образом, у вас должен быть путь к файлу чего-то типа ** C: \ Program Files \ Microsoft SQL Server \ 110 \ DTS \ Binn \ DTExec.exe **. Это 64-битный. Другой - ** C: \ Program Files (x86) \ Microsoft SQL Server \ 110 \ DTS \ Binn \ DTExec.exe **. Вне этого, я не уверен, почему переход с 2005 года на запланированный пакет SSIS той же конфигурации завершится неудачей. –

Смежные вопросы