DMV DISCOVER_CALC_DEPENDENCY在SSAS表格上突然损坏,如何调试/修复?

时间:2018-10-18 13:10:18

标签: sql-server ssas tabular dmv

只是开始在表格SSAS实例上使用DMV,并且在多维数据集重做后,DISCOVER_CALC_DEPENDENCY突然停止工作。现在,它将返回意外错误。

发誓,这曾经有用:https://imgur.com/a/sL3jXQJ

在哪里可以找到导致问题的原因的更多信息?

是否有DMV查询/视图/存储过程的存储库?我们知道“内部”发生了什么吗?

我目前正在从MSSQL实例调用,是否可以直接在SSAS服务器上运行它?也许我会收到正确的错误消息...

谢谢!

更新:通过从模型中删除度量和列,DMV再次开始工作,因此我的其中一个列有些混乱。需要弄清楚哪一个...

2 个答案:

答案 0 :(得分:0)

打开SSMS时,选择Analysis Services而不是Database Engine连接到SSAS实例。连接到SSAS服务器后,打开一个新的查询窗口(菜单上的按钮或选择多维数据集时的CTRL + N),然后直接在其中运行查询。可能会打开MDX查询编辑器窗口,但是从中查询DMV可以正常工作。我还建议您下载DAX Studio(链接here),因为它会向您显示所有可用的DMV,并且可以从此处直接运行它们。

答案 1 :(得分:0)

仅供参考,我在DISCOVER_CALC_DEPENDENCY时遇到了相同的错误。经过大量的故障排除,问题在于在VAR语句中使用临时表,如下所示:

    VAR temptable = FILTER(
    SUMMARIZECOLUMNS(Arrangement[ABN], 
      FILTER(Arrangement, NOT(ISBLANK(Arrangement[ABN]))),
      "active arrangements", [Active arrangement count]),
      [active arrangements] >= 1
    )
    RETURN COUNTROWS(temptable) 

将其更改为该表达式可以解决我的问题:

    COUNTROWS(
    FILTER(
        SUMMARIZECOLUMNS(Arrangement[ABN], 
        FILTER(Arrangement, 
        NOT(ISBLANK(Arrangement[ABN]))),
        "active arrangements", [Active arrangement count]),
     [active arrangements] >= 1)))