【问题标题】:Stored procedure on azure data factory is failing with error message : The length of execution output is over limit (around 1M currently)azure 数据工厂上的存储过程失败并显示错误消息:执行输出的长度超出限制(目前约为 1M)
【发布时间】:2019-12-26 01:25:51
【问题描述】:

我在 azure 数据工厂上运行此存储过程。存储过程对 1000 万行执行一些计算,大约需要 90 分钟(是的。我知道我需要对其进行分析)。当我从 SSMS 运行此存储过程时,它运行良好,但在数据工厂上触发或调试它时,它会抛出此错误:

"errorCode": "2001",
"message": "执行输出的长度超限(目前在1M左右)。",
“故障类型”:“用户错误”,
“目标”:“预订扁平化”,

这是配置问题吗?您拥有的任何指示都会非常有帮助。 我在 Azure 上运行 azure data factory version 2 和 SQL Server 2014

【问题讨论】:

  • 当您在 Azure 中将传统的 SQL Server 作为基础设施即服务 (IaaS) 运行(有时称为“盒装产品”)时,您可以考虑通过 SQL 代理作业而不是 Azure 运行存储过程数据工厂 (ADF)。这对你有用吗?代理作业不会超时。还可以考虑将存储过程和执行计划作为一个单独的问题发布,以获得一些性能调优技巧。
  • 您好eAlie,如果我的回答对您有帮助,您能接受(标记)它作为答案吗?这对其他社区成员可能是有益的。谢谢。

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


【解决方案1】:

您可以参考这个 GitHub 博客:The length of execution output is over limit (around 1M currently), Azure Data Factory #40088。

Azure MSFT 说:“目前处理非常大的监控输出存在错误”。

其实我查了很多,不止Stored Procedure有“执行输出的长度超过限制(目前大约1M)”。错误,其他活动也有同样的错误,如Function、Data Flow、Lookup等。

我们不知道数据工厂产品团队何时会解决数据工厂输出限制。

有人在数据工厂反馈中发布了该问题,并获得了 18 次投票。但仍然没有回复。请看这里:https://feedback.azure.com/forums/270578-data-factory/suggestions/37843276-remove-output-limitations-on-web-and-azure-function

大多数建议是使用For-Each active 来帮助您避免输出限制错误。

参考:Web activity throws overlimit error when calling rest api

希望这会有所帮助。

【讨论】:

  • 感谢莱昂的回答。现在,我正在研究解决方法来抑制我的存储过程的任何类型的执行输出/日志/错误消息,以使其可以在 adf 上运行。我认为 try catch 将帮助我捕捉到这一点
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-22
  • 2021-05-03
  • 1970-01-01
  • 2022-11-22
相关资源
最近更新 更多