У меня есть задание агента SQL Server, настроенное для запуска пакета SSIS из каталога. Сама работа работает хорошо. Пакет SSIS может принимать параметр, например USER.
Мне нужно запустить это задание из веб-приложения, по этой причине я запускаю его через пакетный скрипт, используя SQLCMD + dbo.sp_start_job
Вот строка сценария
"C:\Program Files\Microsoft SQL Server\110\Tools\Binn\sqlcmd.exe" -Q "execute msdb.dbo.sp_start_job @job_name=N'Sync'"
Это работает.
Есть ли способ передать параметр этому сценарию, чтобы при запуске задания он принимал параметр для пакета SSIS.
Я знаю, что могу жестко закодировать параметр в самом задании SQL, но мне нужно иметь возможность передавать его динамически?
Большое тебе спасибо!
SQL Server Agent Job
- это что-то, что выполняется агентом SQL Server, поэтому в основном у него нет пользователя, у которого он может запрашивать параметры ... однако вы можете указать, под каким пользователем / контекстом выполняются шаги в задании. В любом случае, вы можете попробовать то, что предложил Эрик, и заполнить таблицу, которая затем будет учтена вашими пакетами. Или вы изменяете свое приложение, чтобы пакеты выполнялись напрямую (не через Job), и передавали туда параметры. - person Tyron78   schedule 25.02.2021