You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Azure Log Analytics中获取ADF存储过程活动的rowsAffected输出

解决方案:将ADF存储过程活动的rowsAffected同步至Azure Log Analytics

核心思路

SQL Server存储过程活动的rowsAffected字段不会像复制活动的rowsCopied、rowsRead一样自动上报到Log Analytics,需要手动捕获活动输出的指标值,再通过ADF内置活动或自定义逻辑上报到Log Analytics工作区。

具体操作步骤

  • 第一步:确认存储过程活动输出包含rowsAffected
    先运行一次测试管道,打开存储过程活动的输出Tab,确认返回结果里存在rowsAffected字段,正常执行INSERT/UPDATE/DELETE类DML操作的存储过程,ADF会自动返回该字段。如果是多语句存储过程,需要自行在存储过程中累加所有语句的受影响行数,通过输出参数返回给ADF。
  • 第二步:暂存rowsAffected值到管道变量
    在存储过程活动的成功执行分支后,添加「设置变量」活动,提前在管道中创建一个整数类型的自定义变量,变量取值使用动态表达式:@activity('你的存储过程活动名称').output.rowsAffected,如果是自定义输出参数则调整对应的取值路径即可。
  • 第三步:上报指标到Log Analytics,可选两种实现方案:

方案1:通过Web活动直接调用Log Analytics数据收集API
在设置变量活动后添加Web活动,配置请求方式为POST,请求地址填Log Analytics工作区的数据收集端点,请求头填入认证签名信息,请求体拼接rowsAffected、管道ID、活动名称、执行时间等你需要的上下文字段,直接调用API完成上报,不需要额外部署其他资源。
方案2:通过Azure Function活动上报
开发一个HTTP触发的Azure Function,接收ADF传递的rowsAffected和上下文信息,内部调用Log Analytics SDK写入数据,在管道中添加Azure Function活动传递参数即可,适合需要对指标做额外清洗、加工的场景。

  • 第四步:验证数据上报结果
    上报完成后等待1-5分钟,即可在Log Analytics的自定义日志表中查询到rowsAffected数据,可直接和已有的rowsCopied、rowsRead指标做关联查询,也可以配置为仪表板可视化指标。

注意事项

  • 如果存储过程中包含SET NOCOUNT ON配置,会导致ADF无法捕获到默认的rowsAffected字段,需要关闭该配置或者自行通过存储过程输出参数返回受影响行数。
  • 调用Log Analytics API时注意签名格式和工作区密钥的正确性,避免权限不足导致上报失败。

内容的提问来源于stack exchange,提问作者Adeleke Abimbola

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 09:24:05