ADFv2 Lookup Activity设720分钟查询超时仍2小时超时求助
你配置了基于表达式执行存储过程的ADFv2 Lookup活动,已将查询超时时间设为720分钟,但活动仍在2小时(120分钟,默认超时)后触发超时,报错信息如下:
Failure happened on 'Source' side.
ErrorCode=UserErrorSourceQueryTimeout,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=Query source database timeout after '7200' seconds.,Source=Microsoft.DataTransfer.DataContracts,''Type=System.TimeoutException,Message=,Source=Microsoft.DataTransfer.DataContracts,'
以下是需要排查的关键配置步骤:
确认Lookup活动的双重超时设置:
Lookup活动存在两个独立的超时控制项,需同时配置:- 活动层面:在Lookup活动的设置标签中,将
Timeout属性设为720.00:00:00(对应720分钟),这个参数控制整个活动的运行时长上限,默认值为120分钟,必须修改。 - 数据源链接层面:在关联的数据库链接(如Azure SQL DB链接)的连接标签中,找到
Query timeout字段,设置为43200秒(即720分钟,该字段单位为秒),确保数据库查询的超时阈值与活动超时匹配。
- 活动层面:在Lookup活动的设置标签中,将
检查存储过程内部的超时覆盖:
若存储过程内部通过SET LOCK_TIMEOUT、SET QUERY_GOVERNOR_COST_LIMIT等语句设置了超时参数,会覆盖ADF的配置。需检查存储过程代码,移除或调整这类内部超时设置。验证集成运行时的超时上限:
如果使用自托管集成运行时,需确认其DataFlowTimeout等相关参数的设置值不低于720分钟,避免运行时本身的限制导致提前超时。托管集成运行时默认上限较高,但也需确认未在运行时级别做额外限制。检查数据库全局超时配置:
目标数据库的全局查询超时设置(如SQL Server的remote query timeout)可能会覆盖ADF的配置。可执行sp_configure 'remote query timeout'查看当前值,若小于43200秒,需修改并执行RECONFIGURE生效。
内容的提问来源于stack exchange,提问作者Geezer

