Windows7中调度DTSX包,DTExec仅记录数据流任务日志如何解决?
解决DTSX包日志仅记录数据流任务的问题
我来帮你搞定这个日志记录不全的问题~你当前的CMD命令里,/REP P这个参数只指定了记录**Progress(进度)**类事件,而脚本任务、执行SQL任务这类控制流任务的关键事件大多不在这个类别里,所以日志里看不到它们的执行情况。下面给你两种实用的解决方案:
方案1:用详细模式输出所有事件
把/REP P替换成/REP V(V代表Verbose,详细模式),这个参数会让DTExec输出所有级别的事件,包括控制流里每个任务的执行前、执行后、进度等完整细节。修改后的CMD命令如下:
@ECHO ON "C:\Program Files\Microsoft SQL Server\90\DTS\Binn\DTExec.exe" /FILE "C:\MyPath\MyPackage.dtsx" /REP V > "C:\MyPath\MyPackage.txt"
执行后,日志文件里就能看到所有流程项的执行记录了。
方案2:精准指定要记录的事件类别
如果你不想记录太多冗余信息,只想保留控制流任务的关键事件,可以用/EV参数单独指定需要追踪的事件。比如记录任务执行前后、进度、失败这些核心事件,命令示例:
@ECHO ON "C:\Program Files\Microsoft SQL Server\90\DTS\Binn\DTExec.exe" /FILE "C:\MyPath\MyPackage.dtsx" /EV OnPreExecute /EV OnPostExecute /EV OnProgress /EV OnTaskFailed > "C:\MyPath\MyPackage.txt"
常用的控制流事件包括:
OnPreExecute:任务开始执行前的触发事件OnPostExecute:任务执行完成后的触发事件OnProgress:任务执行进度更新时的事件OnTaskFailed:任务执行失败时的事件OnWarning:任务发出警告时的事件
额外小提示
如果你的DTSX包本身配置了SSIS日志提供者(比如SQL Server日志、文本文件日志),也可以直接在包内部开启更详细的日志配置——在SQL Server Business Intelligence Development Studio里编辑包时,找到日志设置,勾选需要记录的事件类别即可。这种方式生成的日志会和DTExec的命令行日志互补,信息更全面。
内容的提问来源于stack exchange,提问作者Nicolaesse
相关产品推荐
相关产品推荐

