我正在从命令行(sqlcmd)执行作业。
EXEC msdb.dbo.sp_start_job @job_name = @job_name
如何通过命令行在作业执行时传递参数。
答案 0 :(得分:0)
没有直接的方法将参数传递给“msdb.dbo.sp_start_job”
所以我们可以考虑间接地做某事。
您可以创建一个表来保存参数,例如:
CREATE TABLE SQLAgentJobParms
(job_id uniqueidentifier,
groupparm int,
parameter_name nvarchar(100),
parameter_value nvarchar(100),
used_datetime datetime NULL);
groupparm是识别一组参数的方法。你使用过它们就可以更新used_datetime。
然后,您需要编写作业以从此表中选择必要的值,以便将它们用作作业中步骤的参数。
EXEC sp_start_job