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

Application Insights记录SQL依赖时无SQL命令文本该如何配置

解决Azure .NET5 App Service Application Insights不显示SQL命令文本问题

需补充/检查的配置项:

  • 首先确认配置文件是否正确:.NET5默认读取的是appsettings.json而非.NET Framework时代的appSettings.config,如果你确实使用config格式存储配置,需确保已手动注册了对应配置提供器,否则配置不会生效。
  • 确认依赖包版本符合要求:
    • Microsoft.ApplicationInsights.AspNetCore 版本 ≥ 2.15.0
    • 如使用EF Core操作数据库,Microsoft.EntityFrameworkCore 版本 ≥ 5.0.0
    • 如直接使用SqlClient,Microsoft.Data.SqlClient 版本 ≥ 2.1.0
  • 补充EF Core敏感日志配置(仅使用EF Core时需要):
    EF Core默认会屏蔽SQL命令中的敏感信息,不会将完整命令文本传递给Application Insights,需在注册DbContext时开启敏感数据日志:
    services.AddDbContext<你的DbContext类名>(options =>
        options.UseSqlServer(Configuration.GetConnectionString("你的连接字符串名"))
               .EnableSensitiveDataLogging());
    
  • 确认服务注册时加载了配置:
    在Startup.cs的ConfigureServices方法中,注册Application Insights服务时需传入Configuration实例,确保配置文件中的设置被正确读取:
    services.AddApplicationInsightsTelemetry(Configuration);
    
  • 开启Azure门户侧的SQL查询收集开关:
    1. 进入你绑定的Application Insights资源
    2. 左侧菜单找到「使用情况和预估成本」,点击「数据收集」
    3. 勾选「启用 SQL 查询收集」选项后保存
  • 临时关闭采样测试:
    你当前配置开启了采样,可能存在SQL请求被过滤未上报的情况,可先将sampling下的isEnabled设为false,验证是否能正常采集到SQL命令文本。

查看路径说明

采集到的SQL命令文本不会直接显示在依赖项的名称字段中,需要点开对应SQL依赖项的详情,在「自定义维度」的CommandText属性中查看。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 17:15:03