首页 > 解决方案 > 比较相同 ssis 包的执行情况

问题描述

我是如何使用 SSIS 的新手。

我的问题是我们数据仓库的更新时间不稳定,同一个包可以在25分钟或4小时内运行。

我用过这段代码:

declare @fromDate datetime,  @toDate datetime
select @fromDate = '2018-11-29 00:00:00'
select @toDate = '2018-11-30 00:00:00'

SELECT  event_message_id
,[MESSAGE]
, message_time
,package_name
,event_name,message_source_name
,package_path
,execution_path
,message_type
,message_source_type
FROM   (
   SELECT  em.*
   FROM    SSISDB.catalog.event_messages em
WHERE   package_name = 'TransformFinancialOrderDetail.dtsx' and message_time between @fromDate and @toDate
ORDER BY message_time DESC

确定执行中的哪些地方不起作用。我已经确定了这两个事件

在此处输入图像描述

之间有巨大的时间垃圾邮件。我希望能够找出这两个步骤之间发生了什么。我唯一的问题是我不知道如何进行。我不希望任何人做我的工作,但我希望能指导我应该寻找哪个方向。

标签: ssis

解决方案


要更好地了解可能导致运行时不一致的原因,请尝试使用catalog.execution_component_phases系统 DMV 来获得更多粒度。这将提供每个任务在每个阶段(即 ProcessInput、PrimeOutput 等)所花费的时间,这应该允许您查看减速发生的位置并帮助确定其来源。需要注意的重要一点是,要使用此 DMV,需要启用日志记录并将其设置为PerformanceVerbose级别。要使用此 DMV 还需要ssis_admin数据库角色或sysadmin服务器角色的成员资格,但是具有执行此包的读取权限也将允许查看结果。


推荐阅读