我想用sql server执行.exe。出于安全原因,我无法使用xp_cmdshell
。所以我决定用CmdExec Step创建工作。
.exe文件必须接收2个参数。问题是我永远不知道参数。
Ex:我想给2个日期,今天和今天+ 1天。
在T-sql中很容易做到,所以可以使用t-sql INSIDE和CmdExec步骤吗?
答案 0 :(得分:1)
首先,使用CmdExec步骤创建一个作业,这样的命令。
EXEC test.exe @Parm1, @Parm2
之后,在您的代码中执行.exe
-- Update Job Step with real parameter
UPDATE msdb.dbo.sysjobsteps
SET command = REPLACE(REPLACE(command,'@Parm1','NewParm1') ,'@Parm2','NewParm2')
WHERE job_id = @YouJobIDHere
AND step_id = @StepId
-- start job
EXEC = msdb.dbo.sp_start_job @job_name = @CustomJobName