如何停止生成输出的SSIS SQL任务?

时间:2017-06-26 17:59:37

标签: sql sql-server ssis etl

我有一个SSIS包,必须为目录中的每个文件执行SQL任务,其中文件的数量非常大。这导致日志记录问题,因为每次SQL任务执行时都会产生以下输出:

enter image description here

每天将数十万个文件相乘,您可以获得每天大小为GB的日志。作为一个临时解决方案,我们是.rar的文件。这工作正常,因为重复数据压缩得很好。

但是,如果我可以一起阻止这种重复输出,那就太好了。 除非任务失败,否则有没有办法不在日志文件中显示任务的输出?

我们正在通过批处理记录任务,如下所示:

dtexec /f "path\to\package\mypackage.dtsx" >> "path\to\log\logfile.log"

2 个答案:

答案 0 :(得分:2)

将报告级别更改为错误和/或警告,
这是令人讨厌的进度报告。

仅错误

dtexec /Reporting E /f "path\to\package\mypackage.dtsx" >> "path\to\log\logfile.log"

仅警告

dtexec /Reporting W /f "path\to\package\mypackage.dtsx" >> "path\to\log\logfile.log"

错误和警告

dtexec /Reporting EW /f "path\to\package\mypackage.dtsx" >> "path\to\log\logfile.log"
  

报告错误。
  报告W警告。

参考:

https://technet.microsoft.com/en-us/library/ms162810(v=sql.105).aspx

  

如果未指定/ Reporting选项,则默认级别为
  E(错误),W(警告)和P(进度)。

答案 1 :(得分:1)

您可以使用标记为/Reporting的标记N N 代表无报告。),以防止向其报告任何状态命令行控制台。

还有其他级别,例如 E 错误 W 仅适用于警告。您可以选择要在控制台上看到的输出选择。

Learn more about dtexec Utility this MSDN article.

语法用法:

dtexec /f Package.dtsx /Reporting N

替代用法:

dtexec /f Package.dtsx /Rep N