【问题标题】:DMV DISCOVER_CALC_DEPENDENCY suddenly broken on SSAS Tabular, how to debug/fix?DMV DISCOVER_CALC_DEPENDENCY 在 SSAS 表格中突然中断,如何调试/修复?
【发布时间】:2018-10-18 13:10:18
【问题描述】:

刚开始在表格 SSAS 实例上使用 DMV,在多维数据集返工后,DISCOVER_CALC_DEPENDENCY 突然停止工作。它现在返回一个意外错误。

向上帝发誓,这曾经有效:https://imgur.com/a/sL3jXQJ

我可以从哪里获得有关问题原因的更多信息?

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

我目前从 MSSQL 实例调用 if,有没有办法直接在 SSAS 服务器上运行它?也许我会收到一条正确的错误消息...

谢谢大家!

更新:通过从模型中删除度量和列,DMV 再次开始工作,所以我的一个列有问题。需要弄清楚是哪一个...

【问题讨论】:

  • 我可能已经找到它:有人可以验证 DISCOVER_CALC_DEPENDENCY 不支持使用 SUMMARIZE 的措施吗?

标签: sql-server ssas tabular dmv


【解决方案1】:

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

【讨论】:

  • 没有骰子,仍然是“意外错误”.. 感谢您的帮助!
  • 您还在使用OPENROWSET吗?如果是这样,这是没有必要的。您可以像查询 SQL Server 一样查询 DMV。
【解决方案2】:

仅供参考,我在使用 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)))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-20
    • 2022-11-17
    • 1970-01-01
    相关资源
    最近更新 更多