Обновление измерений / уровней / мер программно
Резюме: я участвую в проекте, который требует от нас программного обновления / обновления существующего куба. Это вообще возможно (кроме использования AMO)?
Детали: у нас есть куб, который развертывается во всех клиентских средах через установщик. Теперь, продолжая разработку, мы вносим изменения в куб, такие как изменения в вычисляемых мерах, добавление нового уровня в измерение или редактирование существующего уровня / меры. нам нужно развернуть эти изменения в клиентских средах в форме обновлений.
Теперь эти среды не доступны для нас напрямую и не имеют установленных ставок, то есть мы не можем использовать ставки для внесения изменений и развертывания их в среде prod. Отсюда требование сценария / ов для его выполнения.
Есть ли подход, который может позволить выпускать эти обновления кубу программно (не через AMO)? Например: повторная обработка куба может быть запущена в форме оператора xmla.
Мы также должны учитывать любые настройки, которые клиент сделал бы (например, добавление мер или уровней для данного измерения) и сохранять их.
Пожалуйста, дайте мне знать, если я четко объяснил проблему под рукой.
Спасибо Срикант
1 ответ
Вместо AMO вы также можете напрямую создавать операторы XMLA ALTER. На самом деле AMO также конвертирует все в низкоуровневый XMLA, который затем отправляется на сервер служб аналитики. Тем не менее, официальная документация заявления XMLA ALTER по адресу http://msdn.microsoft.com/en-us/library/ms186630.aspx трудна для чтения. Было бы легче захватить операторы XMLA, полученные в результате AMO, выпущенного BIDS, когда вы нажимаете кнопку развернуть. Вы можете сделать это через SQL Server Profiler, как описано здесь: http://technet.microsoft.com/en-us/library/ms174946.aspx.
И, как только вы внесете более чем тривиальные изменения, может оказаться намного проще повторно развернуть всю базу данных служб Analysis Services, а не фиксировать только изменения и пытаться создавать операторы ALTER.