如何使用sql server作业

时间:2017-06-01 20:44:08

标签: powershell batch-file cmd exe sql-job

我需要使用sql作业运行存在于不同服务器位置的.exe和.bat文件。

在进行广泛搜索后,我可以提出以下选项

  1. 内部sql作业步骤设置“操作系统(CmdExec)”作为类型和可执行路径如下,
  2. c:\ path.exe(或)\ some \ _共享\ path.exe ----->这似乎有效

    但无法使用以下参数运行

    “c:\ path.exe”“servername”“database”---> not working

    (或)

    “\ some \ shared \ path.exe”“servername”“database”---> not working

    1. DECLARE @command varchar(8000) SET @command ='C:\ MyProgram' EXEC master..xp_cmdshell @command
    2. 即使这不起作用,而且人们说这不能保证在服务器内启用cmdshell,所以我只留下上面的选项。

      1. 使用我还没试过的电源壳也可以做同样的事情
      2. 任何建议或帮助都非常感谢

1 个答案:

答案 0 :(得分:0)

EXEC msdb..sp_add_jobstep @job_name = 'your_job', @step_id = 1,
        @step_name = 'OS Exec', @subsystem = 'CMDEXEC',
        @command = 'dir c:\'
;  

或者在step_1定义中的SSMS中使用以下语法:

echo servername database