使用所述配置,我有一个包含 Powershell 步骤的 SQL 代理作业。该步骤在到达以下行时会抛出错误
$app = 启动进程 -passthru $program $program_args
说——
“PowerShell 返回的错误信息为:‘术语‘start-process’未被识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试。’。进程退出代码 -1。步骤失败。”
前面几行似乎工作正常。我怀疑运行该脚本的 Powershell 主机的该功能存在缺陷,但我无法在任何地方验证这一点。
答案1
没错,start-process 在 sqlps mini-shell 中不可用。您可以通过运行 get-command 来确定:
SQLSERVER:\>get-command start-*
您可以尝试运行调用 powershell.exe 的 cmdexec 作业步骤。