Power Automate recurrence频率工作机制及SQL Server on insert触发器场景执行逻辑问询
Power Automate SQL Server 新增行触发器的执行逻辑详解
先澄清一个关键认知:你提到的"on insert"触发器在Power Automate里其实是轮询型触发,并非数据库级别的实时事件推送。它会严格按照你设置的 recurrence 间隔(付费版最小1分钟)定期去SQL Server查询自上次检查以来新增的记录,而不是每条插入发生时立即触发流。
针对你描述的场景(1分钟内50次插入,第一条触发了流执行),后续的执行逻辑分两种核心情况:
情况1:未开启「拆分」(Split On)选项
- 第0分钟(第一次轮询):触发器检测到第一条新增记录,触发1个流实例来处理这条记录。
- 第1分钟(第二次轮询):触发器会一次性抓取自上次轮询后新增的剩余49条记录,然后触发单个流实例。在这个实例里,你可以通过「应用到每一个」(Apply to each)操作逐个处理这49条记录——所有处理都会在这一个流实例中完成,总耗时取决于你流内操作的单条处理时间,绝对不会需要49分钟。
情况2:开启了「拆分」(Split On)选项(默认可能开启)
- 第0分钟的轮询依旧触发1个流实例处理第一条记录。
- 第1分钟的轮询检测到49条新记录后,会自动将这些记录拆分成49个独立的流实例。这些实例会根据你的Power Automate并发限制(付费版并发数更高)并行或准并行执行,而不是每隔1分钟启动一个。所以总耗时只会是单条记录的处理时间(如果完全并行),或者略长一点(受并发数限制),同样远小于49分钟。
核心结论
无论是哪种配置,剩余的49条记录都不会需要49分钟才能处理完——它们会在1分钟后的下一次轮询中被批量检测到,然后通过单实例批量处理或多实例并行处理的方式完成,总耗时取决于你的流操作效率和并发设置,和49分钟没有关系。
内容的提问来源于stack exchange,提问作者Gabriel Zitterspiller
相关产品推荐
相关产品推荐

