我正在优化 a data flow task
,我想我会看到哪个组件需要多少时间。我得到了这些任务:
我应该如何知道每个人花了多少时间?除了时间,如果我能找到其他资源,如内存、CPU 等,那就太好了。
主要我正在查看每个组件所花费的时间。
我正在优化 a data flow task
,我想我会看到哪个组件需要多少时间。我得到了这些任务:
我应该如何知道每个人花了多少时间?除了时间,如果我能找到其他资源,如内存、CPU 等,那就太好了。
主要我正在查看每个组件所花费的时间。
如需快速查看已用时间,请参阅执行结果选项卡。当任务/组件启动和完成时,它将显示经过的时间。
还
监控数据流引擎的性能 这涉及更多一点,并且在执行此操作时会降低我的 PC 速度。YMMV。
如果您需要排除故障,SSIS 还包含一个非常好的错误、信息和无数其他事件的日志记录机制:
从您的菜单中选择 SSIS,记录...
您需要指定提供者。为了保持简单,直到你掌握它,我建议 SSIS 日志提供程序用于文本文件。它是 CSV 格式,您可以自定义返回的信息。
要监视包中的所有组件:单击 Details 选项卡并按照 billinkc 的建议选择 OnInformation 和 OnPipelineRowsSent。请注意,日志记录对于故障排除很有用,但 OnPipelineRowsSent 很冗长,因此您可能希望在部署到生产环境时从日志中删除该事件,以减少写入时间和日志大小。
仅监控特定任务:取消选中包,然后从包树视图中选中您要监控的数据流任务/组件。选择它之后,然后选择要记录的事件,从 OnInformation 开始(以及 billinkc 建议的 OnPipelineRowsSent)。
如果我想确定数据流上组件之间的时间,我会使用本机日志记录并捕获OnPipelineRowsSent
事件。这表示在转换之间移动了多少行。James 在sqlteam上有一个很好的查询和记录
需要注意的一点是,在包中存在数据流之前,您无法记录 OnPipelineRowsSent 事件。从创建模板包的角度来看,我一直觉得这是一种耻辱。