我在Visual Studio 2017中开发了一个SSIS作业,目标是Microsoft SQL server 2016。当我通过Visual Studio手动执行它时,它将运行到完成,并且没有任何错误。通过设置的“在晚上11点运行”时间表,SQL server的原始部署运行正常。
现在我做了一些修改并重新发布了,但它无法运行。例如,我尝试将整个代码段包装在try/catch/finally块中,并让catch给我发送一封电子邮件,但我什么也没有得到。
我能做些什么来调试为什么它不能通过调度运行,但不能从visualstudio运行?作业在SQL server上以我的身份运行,因此据我所知,这不是用户权限错误。
我不能直接登录到SQL server,但是我可以让它为我运行一些东西,或者导出一个共享,如果我能找到更好的日志的话。
我通常将包OnError eventhandler配置为发送包含异常详细信息的电子邮件。
如果问题在脚本中,可以使用try..catch块在脚本中引发事件 catch 阻止并为您的电子邮件提供有用的消息。例如
catch
catch (Exception e) { Dts.Events.FireError(0, null, string.Format("Error parsing file: {0}", e),null, 0); Dts.TaskResult = (int)DTSExecResult.Failure; }