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

SQL Server 2016:如何识别SSAS多维数据集未使用的聚合?

如何识别SSAS多维数据集上未被使用的聚合

针对你在SQL Server 2016中排查SSAS多维数据集未使用聚合的需求,我整理了几个可行的方法,结合你提到的DMV来整合出完整的未使用聚合清单:

方法一:关联两个DMV生成未使用聚合列表

你已经用到了$system.discover_object_activity和$system.discover_partition_stat,把这两个DMV关联起来就能直接筛选出未被命中的聚合。执行下面的MDX查询:

SELECT
  dps.database_name AS [数据库名称],
  dps.cube_name AS [多维数据集名称],
  dps.measure_group_name AS [度量组名称],
  dps.partition_name AS [分区名称],
  dps.aggregation_name AS [聚合名称],
  doa.hit_count AS [命中次数]
FROM $system.discover_partition_stat dps
LEFT JOIN $system.discover_object_activity doa
  ON dps.database_id = doa.database_id
  AND dps.object_id = doa.object_id
  AND dps.partition_id = doa.partition_id
WHERE
  dps.aggregation_name IS NOT NULL -- 只筛选聚合对象
  AND (doa.hit_count IS NULL OR doa.hit_count = 0) -- 命中次数为0或无记录(从未被使用)
ORDER BY dps.cube_name, dps.measure_group_name, dps.partition_name;

这个查询会返回所有从未被查询命中的聚合,包括那些刚创建/处理后还没被访问过的聚合。

方法二:结合聚合处理状态补充验证

如果需要确认这些未使用的聚合是否处于有效状态(比如是否已经处理完成),可以在上面的查询中加入处理状态字段:

SELECT
  dps.database_name AS [数据库名称],
  dps.cube_name AS [多维数据集名称],
  dps.measure_group_name AS [度量组名称],
  dps.partition_name AS [分区名称],
  dps.aggregation_name AS [聚合名称],
  dps.process_state_desc AS [聚合处理状态],
  doa.hit_count AS [命中次数]
FROM $system.discover_partition_stat dps
LEFT JOIN $system.discover_object_activity doa
  ON dps.database_id = doa.database_id
  AND dps.object_id = doa.object_id
  AND dps.partition_id = doa.partition_id
WHERE
  dps.aggregation_name IS NOT NULL
  AND (doa.hit_count IS NULL OR doa.hit_count = 0)
ORDER BY dps.process_state_desc, dps.cube_name;

这里process_state_desc会显示聚合的处理状态(比如Processed、Unprocessed),你可以排除那些未处理的聚合,只关注已处理但未被使用的。

注意事项

  • $system.discover_object_activity中的数据是内存级别的统计,SSAS服务重启后会重置这些计数,所以建议在业务高峰周期结束后再查询,确保数据能覆盖足够的访问场景。
  • 如果某些聚合是近期新增的,可能还没被查询命中,建议先观察一段时间(比如1-2个业务周期)再判断是否属于未使用的聚合。
  • 对于大型多维数据集,可能需要分数据库或分多维数据集查询,避免结果集过大。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 04:29:41