Пакет служб SSIS ничего не делает при вызове агентом - PullRequest
1 голос
/ 13 сентября 2010

Пакет служб SSIS проходит через входные файлы. Для каждого файла анализ плоского файла добавляет записи в таблицу БД, затем файл переименовывается / перемещается для архивирования. После всех файлов пакет вызывает sproc для удаления всех летних записей.

Пакет запускается из визуальной студии ОК. Поместите в хранилище пакетов SSIS, запустите оттуда, без проблем.

Создание задания агента SQL для запуска пакета. Задание делает что-то в течение примерно пяти минут, объявляет, что это было успешно , но нет новых записей в БД и нет переименования входных файлов.

Пакет использует выделенный вход в систему для привилегий SQL Server. Задание запускается как HOSTNAME-SVC, который имеет права на чтение / запись для входного каталога и каталога архива.

Ответы [ 4 ]

1 голос
/ 14 сентября 2010

Вы настроили регистрацию для пакета?Вы можете добавить задачу сценария в контейнер цикла For-Each, который выполняет команду Dts.Events.FireInformation во время каждого цикла.Это может помочь вам отследить имя файла, которое он находит, количество циклов, которое он выполняет, сколько времени занимает каждый цикл и т. Д. Вы также можете добавить шаг регистрации в конце, чтобы вы знали, что он по крайней мере выходит из цикла For-Each Loopконтейнер успешно.

Если вы обнаружите, что пакет работает успешно, но вообще не зацикливается на каких-либо файлах, то вы можете протестировать, используя более простой пакет, который читает только один файл и загружает его в промежуточную таблицу.Если это сработает, перейдите к следующему шагу: переберите все файлы в директории и снова и снова импортируйте только один файл.Если это работает, перейдите к следующему шагу изменения подключения к файлу, чтобы оно соответствовало файлу, найденному в задаче перечислителя файлов для контейнера циклов For-Each.

Если пакет не зацикливается на каких-либо файлах, и выне можете увидеть даже тот файл, который вы тестировали, загружая из задания, затем попробуйте создать учетную запись прокси с вашими учетными данными и запустить задание в качестве учетной записи прокси.Если это работает, то у вас, вероятно, есть проблема с правами доступа к вашей учетной записи службы.

Если пакет ничего не импортирует даже с учетной записью прокси, вы можете войти на сервер как учетная запись службы ипопробуйте запустить пакет служб SSIS в BIDS.Если это работает, вы можете развернуть его на сервере и запустить пакет с сервера (который действительно будет использовать вашу машину, но, по крайней мере, он использует определение ssis с сервера).Если это работает, попробуйте запустить пакет от агента.

0 голосов
/ 10 декабря 2013

У меня была похожая проблема.Смог выяснить, что происходит, установив параметр ведения журнала в задании агента SQL Server.

Отредактируйте шаг в задании, в котором выполняется пакет, перейдите на вкладку ведения журнала и выберите «Поставщик журнала служб SSIS для SQL».Сервер ", и в строке конфигурации я выбрал (используя раскрывающийся список) коннектор OLEDB, который был в пакете, он подключается к рассматриваемому SQL Server.

Затем я смог просмотреть более подробную информацию.в истории этой работы, и подтвердил, что он не находил файлы.Изменив разрешения для каталога в соответствии с учетной записью агента сервера sql, пакет, наконец, был выполнен правильно.

Надеюсь, это поможет.

Вы можете отключить выход из системы после устранения проблемы, в зависимости ото том, как часто будет работать ваш пакет и сколько информации предоставляет ведение журнала в вашем случае.

С уважением, Бертин

0 голосов
/ 19 июня 2012

Кажется, что-то другое в разрешениях. Мы решили эту проблему, позволив «всем» читать каталог на рабочем сервере. По какой-то неизвестной причине нам не пришлось делать это на тестовом сервере.

Когда задание пыталось получить список файлов, вместо получения ошибки (которая будет зарегистрирована) оно получило пустой список. Почему цикл по пустому списку занял пять минут, все еще остается загадкой, как и отсутствие разрешений. Но по крайней мере то, что случилось, было установлено.

0 голосов
/ 14 сентября 2010

Я не уверен, что полностью понимаю.Пакет уже был тщательно протестирован под несколькими учетными записями Windows, и он находит все файлы и переименовывает все файлы.

Под Агентом он абсолютно ничего не видит, но для этого требуется пять минут.НЕТ ошибок разрешений или любых других ошибок.Я не упоминал, что более ранняя попытка ДЕЙСТВИТЕЛЬНО получала ошибки разрешений, потому что мы не смогли предоставить учетной записи службы доступ к каталогам ввода и вывода.

Я не могу войти в систему как учетная запись службы, чтобы попробовать это, потому что я делаюне иметь пароль для этого.Но у него есть владелец работы, поэтому он должен иметь возможность переключиться на учетную запись службы - и ошибки доступа, которые мы получили десять дней назад, показывают, что это возможно.Сама посылка не изменилась за эти десять дней.Мы только что удалили задание, чтобы выполнить полную «генеральную репетицию» процедуры развертывания.

Итак, я полагаю, изменилась некоторая деталь в процедуре развертывания, которая, к сожалению, не была связана с контролем исходного кода враз это удалось.

...