首页 > 解决方案 > 未处理多维数据集时使用 DMV 获取所有多维数据集名称的列表

问题描述

我想获取 SSAS 服务器上所有多维数据集名称的列表。我正在使用此查询来检索它们:

select *
from $System.MDSCHEMA_CUBES
where CUBE_SOURCE = 1

我的目标是知道哪些立方体已处理或未处理。但上述查询的问题在于它缺少未处理的多维数据集,因此我无法检索服务器上所有多维数据集的完整列表。

即使未处理,是否有办法检索丢失的多维数据集名称?

标签: sqlsql-serverolap-cubessas-tabulardmv

解决方案


也许看看 Partitions 看看哪些需要处理?

select * from $SYSTEM.TMSCHEMA_PARTITIONS where [STATE] <> 1;

2.2.5.6 分区对象-状态

就绪 (1) – 分区可查询并具有最新数据。

NoData (3) – 分区可查询但没有数据。此状态仅适用于非计算类型的分区。

CalculationNeeded (4) – 分区不可查询,需要刷新(即重新计算)才能发挥作用。此状态仅适用于计算类型的分区。

SemanticError (5) – 由于表达式无效,分区处于错误状态并且不可查询。此状态仅适用于计算类型的分区。

EvaluationError (6) – 由于表达式评估期间的错误,分区处于错误状态。分区不可查询。此状态仅适用于计算类型的分区。

DependencyError (7) – 分区处于错误状态,因为它的一些计算依赖项处于错误状态。分区不可查询。此状态仅适用于计算类型的分区。

不完整(8)——分区部分部分没有数据,需要刷新分区才能把数据带进来。分区是可查询的。此状态仅适用于非计算类型的分区。

SyntaxError (9) - 分区由于其表达式中的语法错误而处于错误状态。分区不可查询。此状态仅适用于计算类型的分区。


推荐阅读