由DataFactory执行时,存储过程运行缓慢

时间:2017-07-17 08:55:16

标签: sql-server azure stored-procedures azure-data-factory

我已经在SQL服务器上运行了14分钟的存储过程(在Azure DB上,数据保留在同一个数据库中)。

当此存储过程作为数据工厂中的管道执行时,则需要大约1小时或更长时间。当我将所选时段加倍时,SQL执行大约需要30分钟,但DF甚至会在4.5小时后超时。

我非常确定DF只是一种工具,可以使用普通的SQL引擎,因此性能可以相同,但事实并非相同。有人知道发生了什么事吗?

2 个答案:

答案 0 :(得分:0)

这个“答案”来得晚了几年,但是当我遇到自己的类似问题时,我偶然发现了这个问题。通过Azure数据工厂触发(具有相同的参数和要做的工作)时,通过SSMS运行需要几秒钟的存储过程大约需要20分钟才能完成。

但是,这种缓慢仅在通过“调试”选项运行我的ADF管道时出现。只要通过常规触发器运行它,它就会在正常时间内完成。如果您看到类似的症状,或者可能像我的一样,则是由于使用了Debug选项...或者您已经在Azure中启用了一些具有类似效果的诊断程序。

没有保证可以解决您的问题,但是我想我把它放在那里,以防对任何人有用。

答案 1 :(得分:0)

我在 ADF 中遇到了类似的问题,在 SSMS 中运行期间,我的 TSQL 程序比正常完成时间超过 2 小时的时间超出了 4 小时。

作为一种解决方法,我将过程拆分为子过程序列并调用主过程以减轻缓慢。 我尝试从 SSMS 中的查询存储进行故障排除,但没有从中得到太多帮助以找到根本原因。