2016-11-24 77 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年的代理,現在這項工作正在進行。