|
Динамический процессинг через SSIS
|
|||
---|---|---|---|
#18+
Доброго времени суток Какое-то странное дело происходит. Делаю динамическое партицирование куба через ssis. Всё почти нормально, в самом конце почему-то не получается отпроцессить партицию через Analysis Services Processing Task с назначением через переменную ProcessingCommands. Скрипт для процессинга хранится в отдельном файле XMLA, который по ходу выполнения пакета грузится в переменную. Вобщем добавляю в пакет Analysis Services Processing Task, выставляю там в ProcessingSettings connection manager и объекты для процессинга. Сохраняю - всё нормально. Потом добавляю в Expressions в ProcessingCommands переменную с загруженным скриптом. И задача становится ошибочной, красная точка справа (Processing Commands contain DDL that is not valid). Открываю Analysis Services Processing Task снова - список объектов в ProcessingSettings пустой. Не подскажете куда копать? В инете полно инфы по теме, но с подобной ошибкой ничего не нашел. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.05.2020, 16:27 |
|
Динамический процессинг через SSIS
|
|||
---|---|---|---|
#18+
Кажется начало проясняться кое-что. Когда ставлю TargetServerVersion = SQL Server 2016, ошибка пропадает. Беда в том, что ставить надо на рабочий сервер, а он 2012. Как быть-то? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.05.2020, 17:48 |
|
Динамический процессинг через SSIS
|
|||
---|---|---|---|
#18+
sposad, не скажу за это но могу предлложить воркараунд есть возможность сделать линк-севрер на SSAS и ранить xmla запихивая их в t-sql SP это м.б удобней https://www.mssqltips.com/sqlservertip/2790/dynamic-xmla-using-tsql-for-sql-server-analysis-services/ хотя через SSIS по идее тоже дожно все рабоать ps единственное у меня были заморочки когда я делал линк-сервер на отличном от SSAS компе (не было там установленного SQL service только SSAS ) вылазил double hop - но через жобы все работало без проблем и в этом случае. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.05.2020, 18:08 |
|
Динамический процессинг через SSIS
|
|||
---|---|---|---|
#18+
Гулин Федор sposad, не скажу за это но могу предлложить воркараунд есть возможность сделать линк-севрер на SSAS и ранить xmla запихивая их в t-sql SP это м.б удобней https://www.mssqltips.com/sqlservertip/2790/dynamic-xmla-using-tsql-for-sql-server-analysis-services/ хотя через SSIS по идее тоже дожно все рабоать ps единственное у меня были заморочки когда я делал линк-сервер на отличном от SSAS компе (не было там установленного SQL service только SSAS ) вылазил double hop - но через жобы все работало без проблем и в этом случае. Спасибо! Вариант рабочий, конечно. Правда хотелось бы всё-таки чтобы штатное средство работало... ... |
|||
:
Нравится:
Не нравится:
|
|||
11.05.2020, 21:49 |
|
Динамический процессинг через SSIS
|
|||
---|---|---|---|
#18+
Там бага была, по-моему, неправильный XMLA генерировался, подправлять приходилось: https://www.sql.ru/blogs/shcherbinin/1007 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2020, 00:07 |
|
Динамический процессинг через SSIS
|
|||
---|---|---|---|
#18+
sposad, Мы делаем процессинг через "Задача "Выполнение DDL службами Analysis Services"" в переменную помещаем команду XMLA для обработки секций, все работает стабильно. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2020, 02:59 |
|
Динамический процессинг через SSIS
|
|||
---|---|---|---|
#18+
sposad, Не связывайтесь с этим блоком. Соберите XMLA команду в строку и пустите её как обычный execute sql task. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2020, 07:57 |
|
Динамический процессинг через SSIS
|
|||
---|---|---|---|
#18+
KAB sposad, Мы делаем процессинг через "Задача "Выполнение DDL службами Analysis Services"" в переменную помещаем команду XMLA для обработки секций, все работает стабильно. Спасибо! Я такое подумал сначала, но пробовать не стал, вроде же не для того. А тут такое подтверждение. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2020, 21:42 |
|
Динамический процессинг через SSIS
|
|||
---|---|---|---|
#18+
a_voronin sposad, Не связывайтесь с этим блоком. Соберите XMLA команду в строку и пустите её как обычный execute sql task. приветствую! а как запустить XMLA через execute sql task. ? тоже столкнулся с проблемой (Processing Commands contain DDL that is not valid) через Services Processing Task год себе нормально работа и вот случилось... через management studio, запуск той же команды - всё отрабатывает без ошибок. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2021, 07:23 |
|
Динамический процессинг через SSIS
|
|||
---|---|---|---|
#18+
montoya. a_voronin sposad, Не связывайтесь с этим блоком. Соберите XMLA команду в строку и пустите её как обычный execute sql task. приветствую! а как запустить XMLA через execute sql task. ? тоже столкнулся с проблемой (Processing Commands contain DDL that is not valid) через Services Processing Task год себе нормально работа и вот случилось... через management studio, запуск той же команды - всё отрабатывает без ошибок. Да без проблем : делаете ADOMD Connection и пускате XMLA. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2021, 13:52 |
|
Динамический процессинг через SSIS
|
|||
---|---|---|---|
#18+
Все что выше написано, с моей точки зрения не айс. Я подходу к частичному обновлению куба так: 1) Держу табличку с партициями в ms sql база куб группа мер партиция и прочие поля (Дата от до MOLAP ROLAP и т.п.) (партиции генерю вперед на 1-2 года). 2) Делаю вычисляемое поле в этой таблице, которое выдает скрипт обновления партиции (кусок) 3) Делаю SELECT этого поля с фильтром по датам (например, последние 3 месяца по такой и такой группе мер или что там требует бизнес ) и получаю скрипт. 4) Скрипт конкатенирую в переменную в цикле в SSIS 5) Пошла XMLA команда из переменной Все можно сделать без C# ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2021, 13:59 |
|
Динамический процессинг через SSIS
|
|||
---|---|---|---|
#18+
a_voronin Все что выше написано, с моей точки зрения не айс. Я подходу к частичному обновлению куба так: 1) Держу табличку с партициями в ms sql база куб группа мер партиция и прочие поля (Дата от до MOLAP ROLAP и т.п.) (партиции генерю вперед на 1-2 года). 2) Делаю вычисляемое поле в этой таблице, которое выдает скрипт обновления партиции (кусок) 3) Делаю SELECT этого поля с фильтром по датам (например, последние 3 месяца по такой и такой группе мер или что там требует бизнес ) и получаю скрипт. 4) Скрипт конкатенирую в переменную в цикле в SSIS 5) Пошла XMLA команда из переменной Все можно сделать без C# спасибо за ответ я почти так же дела. 1. так же, есть таблица с группы мер и другими настройками 2. генерю скрипт 3. я соединяю всё в кучу на уровне sql и в SSIS передаю уж еготовую XMLA вообще я нашёл в чём у меня проблема вылезла. мой XMLA вышел за пределы 4000 символов позволенных в SSIS переменной. и постал новый вопрос) как обойти ограничение в 4000 p.s. понимаю, что могу сделать цикл и процессить всё не одной командой а разбить. но всё же обойти 4000 можно?) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2021, 16:39 |
|
Динамический процессинг через SSIS
|
|||
---|---|---|---|
#18+
montoya., Естественно он выйдет. Попробуйте все-таки конкатенировать в SSIS -- цикл по рекордсету и Expression Task. B string_Agg вроде нет ограничений https://docs.microsoft.com/ru-ru/sql/t-sql/functions/string-agg-transact-sql?view=sql-server-ver15 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2021, 17:26 |
|
Динамический процессинг через SSIS
|
|||
---|---|---|---|
#18+
montoya., Я не имел ввиду процессить партиции по одной. Я имел ввиду в цикле собрать скрипт и запустить его один раз. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2021, 18:14 |
|
|
start [/forum/topic.php?fid=49&fpage=3&tid=1857104]: |
0ms |
get settings: |
11ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
68ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 172ms |
0 / 0 |