我是有关如何使用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
确定执行中的什么地方不起作用。我已经确定了这两个事件
之间有大量垃圾邮件。我希望能够找出这两个步骤之间发生了什么。我唯一的问题是我不知道如何进行。我不希望有人能胜任工作,但我希望能为我应寻求的方向提供指导。
答案 0 :(得分:0)
要更好地了解可能导致运行时不一致的原因,请尝试使用catalog.execution_component_phases
系统DMV来获得更大的粒度。这将提供每个任务在每个阶段(即ProcessInput,PrimeOutput等)中花费的时间,这应该使您能够看到减速发生的位置并帮助确定其来源。需要注意的重要一点是,要使用此DMV,将需要启用日志记录并将其设置为性能或详细级别。要使用此DMV,还需要拥有ssis_admin
数据库角色或sysadmin
服务器角色的成员身份,但是具有执行此程序包的读取权限也将允许查看结果。