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

Log Analytics查询AAS多维数据集处理状态无结果怎么办

问题根源

查询返回0条结果由两个原因导致:

  1. 表名使用错误:aas_engine不是Azure Analysis Services(AAS)输出到Log Analytics的标准表名,若未正确配置诊断日志,会直接导致目标表无数据。
  2. 查询逻辑错误:筛选的ProgressReportCurrent事件仅在处理任务运行过程中周期性生成,处理完成的任务不会产生该类事件;同时手动排除了所有存在ProgressReportEnd事件的会话,若查询时间窗口内无正在运行的处理任务,必然返回空结果。
前置配置要求

要获取AAS多维数据集处理状态,首先需要在AAS实例的「诊断设置」中完成配置:

  • 勾选日志类别为引擎
  • 选择目标为当前查询的Log Analytics工作区
  • 可选择「资源特定」目标模式(推荐,表结构更清晰)或「Azure诊断」模式(兼容老配置)

注意:刚开启的诊断配置需要等待5-15分钟同步,才会产生可查询的数据。

对应数据表与核心字段

根据选择的诊断模式,使用对应数据表:

  • 资源特定模式(推荐)
    表名:AASEngineEvents
    核心字段:
    • TimeGenerated:事件生成时间
    • OperationName:事件类型,和处理相关的取值包括ProgressReportBegin(处理启动)、ProgressReportEnd(处理结束)、ProgressReportError(处理报错)
    • SessionId:会话唯一ID,用于关联同一次处理操作的全链路事件
    • DatabaseName:处理操作所属的AAS数据库名
    • TableName:处理的多维数据集/表名
    • PartitionName:处理的分区名(若为分区级处理)
    • EventSubclass:事件子类型,ProgressReportEnd事件中该值为0代表处理成功,非0代表处理异常
    • TextMessage:事件详情,报错时会返回具体错误信息
    • Duration:事件持续时长,单位毫秒
    • _ResourceId:AAS实例的资源ID
  • Azure诊断模式(老配置)
    表名:AzureDiagnostics
    额外过滤条件:ResourceProvider == "MICROSOFT.ANALYSISSERVICES"
    字段规则:和资源特定模式字段含义一致,字段名增加类型后缀,例如OperationName_s、SessionId_s、DatabaseName_s、EventSubclass_d、TextMessage_s、Duration_d
可用查询示例

以下为资源特定模式下,查询近7天所有多维数据集处理状态(包含处理中、成功、失败)的KQL语句:

// 提取所有处理任务启动记录
let processingStart = AASEngineEvents
| where TimeGenerated > ago(7d)
| where OperationName == "ProgressReportBegin"
| project SessionId, StartTime = TimeGenerated, DatabaseName, CubeName = TableName, PartitionName, ResourceId = _ResourceId;
// 提取所有处理任务结束/报错记录
let processingEnd = AASEngineEvents
| where TimeGenerated > ago(7d)
| where OperationName in ("ProgressReportEnd", "ProgressReportError")
| extend IsSuccess = iif(OperationName == "ProgressReportEnd" and EventSubclass == 0, true, false)
| project SessionId, EndTime = TimeGenerated, IsSuccess, ErrorMsg = TextMessage;
// 关联得到全量处理任务状态
processingStart
| join kind=leftouter processingEnd on SessionId
| extend ProcessStatus = iif(isempty(EndTime), "处理中", iif(IsSuccess, "处理成功", "处理失败"))
| extend DurationMinutes = iif(isempty(EndTime), datetime_diff('minute', now(), StartTime), datetime_diff('minute', EndTime, StartTime))
| project StartTime, EndTime, DurationMinutes, ProcessStatus, DatabaseName, CubeName, PartitionName, ErrorMsg, ResourceId
| sort by StartTime desc

若使用Azure诊断模式,将表名替换为AzureDiagnostics,增加资源提供方过滤条件,同时替换字段为对应带后缀的字段名即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 09:33:31