【问题标题】:Processing SSAS tabular model fails in sql agent在 sql 代理中处理 SSAS 表格模型失败
【发布时间】:2017-04-08 15:17:29
【问题描述】:

我有一个新的 SSAS 2016 表格模型(1200 兼容级别)。我正在尝试设置一个 SQL 代理作业来每天处理模型。但是,当作业运行时,它会抛出以下错误:

Xmla 异常。第 7 行第 17 列的 { 文本节点不能出现 在 Command 元素内(命名空间 urn:schemas-microsoft-com:xmla-analysis) 在 Envelope/Body/Execute 下。 此元素只能有包含空格的文本节点 字符。

命令是:

{
  "refresh": {
     "type": "full",
     "objects": [
       {
         "database": "Finance"
       }
      ]
   }
}

当我在 SSMS 中执行它时可以正常工作,但通过 SQL 代理作业运行时会失败。

【问题讨论】:

  • 您使用的是什么步骤类型?它是“SQL Server 分析服务命令”吗?根据我的经验,这需要是 XML,而不是上面的 JSON。你是怎么想出这个命令的?

标签: sql-server ssas sql-server-2016 ssas-tabular xmla


【解决方案1】:

看起来您尝试执行的命令使用 TMSL(表格模型脚本语言),但 SQL 代理需要 XMLA。

本站介绍了如何获取 XMLA 中的等效命令http://biinsight.com/how-to-automate-ssas-tabular-model-processing/

【讨论】:

  • 如果这样做,我会收到错误“此命令无法在数据库 'Finance' 上执行,因为它已在 StorageEngineUsed 设置为 TabularMetadata 的情况下定义。对于此模式下的数据库,您必须使用表格 API管理数据库”
  • 好的,对于错误信息,我们深表歉意。我不知道如何使用 SQL Server Agent 进行 TMSL。
【解决方案2】:

我发现了问题所在。原来,SQL Server 引擎是 2014 版,而 SSAS 是 2016 版。这就是导致问题的原因。我试图使用 SQL 2014 SQL 代理处理 2016 SSAS 表格模型。意识到这一点后,我改用了 2016 年的代理,现在这项工作正在发挥作用。

【讨论】:

    【解决方案3】:

    由于兼容性级别之间的冲突,我也面临同样的问题.... 我找到的最佳解决方案是使用具有 SSAS 表格模式凭据的委托代理并作为类型 Sql Server Analysis Services Query 运行并使用委托代理作为运行

    【讨论】:

      猜你喜欢
      • 2014-12-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-16
      • 1970-01-01
      相关资源
      最近更新 更多