代码之家  ›  专栏  ›  技术社区  ›  Gargoyle

SSIS作业通过自动化失败

  •  1
  • Gargoyle  · 技术社区  · 6 年前

    我在Visual Studio 2017中开发了一个SSIS作业,目标是Microsoft SQL server 2016。当我通过Visual Studio手动执行它时,它将运行到完成,并且没有任何错误。通过设置的“在晚上11点运行”时间表,SQL server的原始部署运行正常。

    现在我做了一些修改并重新发布了,但它无法运行。例如,我尝试将整个代码段包装在try/catch/finally块中,并让catch给我发送一封电子邮件,但我什么也没有得到。

    我能做些什么来调试为什么它不能通过调度运行,但不能从visualstudio运行?作业在SQL server上以我的身份运行,因此据我所知,这不是用户权限错误。

    我不能直接登录到SQL server,但是我可以让它为我运行一些东西,或者导出一个共享,如果我能找到更好的日志的话。

    1 回复  |  直到 6 年前
        1
  •  0
  •   DeanOC    6 年前

    我通常将包OnError eventhandler配置为发送包含异常详细信息的电子邮件。

    如果问题在脚本中,可以使用try..catch块在脚本中引发事件 catch 阻止并为您的电子邮件提供有用的消息。例如

    catch (Exception e)
    {
         Dts.Events.FireError(0, null, string.Format("Error parsing file: {0}", e),null, 0);
          Dts.TaskResult = (int)DTSExecResult.Failure;
    }