Передать параметр (ы) в задание агента SQL - PullRequest
5 голосов
/ 02 ноября 2011

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

В моем сценарии мне нужен сохраненный процесс для вызова агента SQL и передачи параметра (ов).Задание агента SQL, в свою очередь, должно передать параметр (и) шагу пакета служб SSIS.

Альтернатива, которую я слышал, состоит в том, чтобы сохранить записанные значения proc для записи в таблицу, а затем иметь SQLЗадание агента (или вызываемый им пакет служб SSIS) считывает эти значения из таблицы.Я воспользуюсь этим последним подходом, если понадобится, хотя это и будет klugey.

Обновление: Мотивом для этого упражнения является формирование интеграционного теста, состоящего из (a) задания агента SQL, котороепредоставляет файл конфигурации пакета и (b) пакет служб SSIS, для которого требуются значения в файле конфигурации пакета.Таким образом, я не хочу вызывать пакет служб SSIS напрямую.Кроме того, тестеры не имеют разрешения на запуск задания SQL Agent напрямую, и им нельзя позволять динамически создавать задания SQL Agent.Sproc (юридически) обходит проблему разрешения.Наконец, интеграционный тест может быть нацелен на один из десятков пакетов служб SSIS, но в моей среде нецелесообразно иметь десятки определений заданий агента SQL.Следовательно, sproc запускает задание агента SQL, и этот параметр указывает, какой пакет служб SSIS следует запустить.

Ответы [ 2 ]

2 голосов
/ 02 ноября 2011

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

0 голосов
/ 03 ноября 2011

Другой подход может заключаться в динамическом создании задания с параметрами SSIS, установленными на шаге задания. Возможным преимуществом этого является то, что задание сохраняется, поэтому, если есть какие-либо проблемы или вопросы по поводу того, каким был параметр, задание находится рядом, и вы можете отлаживать логику создания задания / шага задания.

Если агент - просто средство для запуска пакета SSIS, администраторы баз данных на моем последнем концерте создали 2 процесса, RunSSISPackage и RunSSISPackage32, которые не делали ничего, кроме вызова dtexec для запуска пакета, передающего все предоставленные параметры.

Существует также подход GiiM, который может работать точно так же, но пока мы не знаем, какую проблему вы пытаетесь решить, трудно сказать, какой подход лучше.

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