2016-11-24 18 views
2

У меня есть новая табличная модель SSAS 2016 (уровень совместимости 1200). Я пытаюсь настроить работу агента SQL для обработки модели ежедневно. Тем не менее, при выполнении задания, он бросает следующее сообщение об ошибке:Обработка табличной модели SSAS с ошибкой в ​​агенте sql

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 Analysis Services». По моему опыту, который должен быть XML, а не JSON, который у вас есть выше. Как вы придумали эту команду? –

ответ

0

Похоже, что команда, которую вы пытаетесь выполнить, находится в TMSL (Tabular Model Scripting Languge), но SQL Agent ожидает XMLA.

Этот сайт описывает, как получить эквивалентную команду в XMLA http://biinsight.com/how-to-automate-ssas-tabular-model-processing/

+0

Если я это сделаю, я получаю сообщение об ошибке «Эта команда не может быть выполнена в базе данных« Финансы », поскольку она определена с помощью StorageEngineUsed, установленной в TabularMetadata. Для баз данных в этом режиме вы должны использовать Tabular API для администрирования базы данных« – cmn

+0

Okay , извините за дезинформацию. Я не знаю, как сделать TMSL с помощью агента SQL Server. – mendosi

1

Я обнаружил, что проблема была. Оказалось, что движок SQL Server был версией 2014, а SSAS - 2016. Именно это и вызывало проблему. Я пытался обработать табличную модель SSAS 2016 с использованием SQL SQL4 SQL Agent. Как только я понял это, я использовал агент 2016 вместо этого, и работа теперь работает.