【问题标题】:SQL Sever Agent Job Stop Failure if no file如果没有文件,SQL Server 代理作业步骤失败
【发布时间】:2018-10-26 22:16:22
【问题描述】:

我在 SQL Server 2014 中有一个运行可执行文件的作业,该可执行文件可能会或可能不会生成文件。然后下一步将生成的所有文件移动到 SFTP 站点。如果文件存在,一切正常。问题是此任务每 10 分钟运行一次,并且 95% 的时间没有生成文件。 *它经常运行的原因是在允许 exe 生成文件的触发机制之后,我们有 20 分钟的窗口将文件发送到 SFTP。

我的问题是如何将任务设置为仅在文件存在且无法移动时才报告失败?如果不存在文件,我不在乎。我知道我可以在 SSIS 中执行此操作,但目前我有一个 CmdExec 步骤:

MOVE \\fs2\it\OutPut\*.xml \\fs2\it\outbox

【问题讨论】:

  • 你是如何生成文件的?你用的是什么工艺?根据这一点,您可以构建一个仅在生成文件时设置的 bool 检查,然后仅在 bool 设置为 true 时执行代码的这一步。你在使用 SSIS 包吗?进入这一步之前的其他流程?
  • 目前我正在做同样的事情,即一个CMDEXEC,它调用一个C#程序来检查是否需要生成文件并采取相应的行动。

标签: sql-server sql-server-2014 sql-server-job


【解决方案1】:

在移动之前尝试检查它是否存在。

IF EXIST \\fs2\it\OutPut\*.xml MOVE \\fs2\it\OutPut\*.xml \\fs2\it\outbox

【讨论】:

  • 简单...谢谢!
猜你喜欢
  • 2017-03-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多