我在 sql 代理作业中有一个 cmdexec 步骤,该作业最后包含到文件的重定向。它按在 SQL 代理服务帐户上下文中运行的 CMD shell 的预期方式工作,并在所需位置生成文件。但是,如果我将它作为代理作业运行,该步骤会“成功”但永远不会生成输出文件。在这两种情况下,服务帐户显然都具有足以执行此操作的文件系统权限和系统权限。
cmdexec 环境在某种程度上是否比仅运行 cmd.exe 更受限制?
我在 sql 代理作业中有一个 cmdexec 步骤,该作业最后包含到文件的重定向。它按在 SQL 代理服务帐户上下文中运行的 CMD shell 的预期方式工作,并在所需位置生成文件。但是,如果我将它作为代理作业运行,该步骤会“成功”但永远不会生成输出文件。在这两种情况下,服务帐户显然都具有足以执行此操作的文件系统权限和系统权限。
cmdexec 环境在某种程度上是否比仅运行 cmd.exe 更受限制?
转到该步骤的高级选项卡。使用其中一个选项来捕获更多输出,例如“在历史记录中包含步骤输出”或“输出文件”设置。这应该为您提供有关该步骤和正在发生的事情的更多信息。