2016-11-24 79 views
2

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

XmlaException. The { text node at line 7, column 17 cannot appear inside the Command element (namespace urn:schemas-microsoft-com:xmla-analysis) under Envelope/Body/Execute. This element can only have text nodes containing white-space characters.

的命令是:

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

该工程确定,当我在SSMS执行它,但失败时,通过SQL代理运行工作。

+0

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

回答

0

看起来您尝试执行的命令在TMSL(表格模型脚本语言)中,但SQL代理正期待XMLA。

该网站介绍了如何在XMLA http://biinsight.com/how-to-automate-ssas-tabular-model-processing/

+0

如果我这样做,我得到错误“该命令无法在数据库'Finance'上执行,因为它已经使用StorageEngineUsed设置为TabularMetadata来定义。对于此模式下的数据库,您必须使用表格API来管理数据库” – cmn

+0

好的,对于错误信息抱歉。我不知道如何用SQL Server Agent来完成TMSL。 – mendosi

1

我发现了什么问题得到等效的命令。事实证明,SQL Server引擎是2014版本,而SSAS是2016年。这是导致问题的原因。我试图使用SQL 2014 SQL Agent来处理2016 SSAS表格模型。一旦我意识到这一点,我使用了2016年的代理,现在这项工作正在进行。