Добрый день! Недавно передо мной стала задача, с которой я никогда не сталкивался, а именно обновление OLAP-куба по расписанию. Ничего сложного, как оказалось, нет, но чтобы не забыть самому, решил описать эту процедуру в блоге.
Значит так. На самом деле подобную задачу можно решить двумя способами (по крайней мере, я попробовал два способа): через SSIS (SQL Server Integration Services) и через обычные job-ы.
Опишу самый простой второй способ, т.к. с первым у меня "не срослось" (точнее, он получился, но мне он не понравился).
Итак, у нас есть OLAP-куб (назовем MyCube), который "крутится" на Analysis Services. Наша задача - обновлять его в автоматическом режиме каждые 2 часа.
1. Запускаем SQL Server Management Studio.
2. Подключаемся к Database Engine (не Analysis Services).
3. Ищем ветку SQL Server Agent - Jobs.
4. Создаем новый job.
5. На закладке General задаем ему имя MyJob.
6. Переходим на закладку Steps и создаем новый шаг MyStep.
7. В поле Type выбираем SQL Server Analysis Services Command.
8. В поле Server указываем наш сервер.
9. И самое интересное: указываем в поле Command
Причем в качестве My_Database_Name выступает не имя куба, а именно имя базы, развернутой на Analysis Services.
10. Сохраняем шаг.
11. Ну а дальше на закладке Schedules добавляем расписание, по которому будет выполняться обновление куба (не забудьте об occurs every 2 hours), и сохраняем job.
Как видите, вроде бы ничего сложного. На этом все.
Спасибо Татьяна, материал очень полезный. Вот только у меня при настройке кубов в TSCRM постоянно появляется окно подключения к источнику данных, а не к OLAP серверу. Подскажите, что я делаю не так?
Евгений, Вы вначале выбираете подключение к новому источнику данных, а далее в появившемся окне из предложенных вариантов выбираете "Службы OLAP Microsoft SQL Server" (детальнее в "Настройка OLAP.rar").
Василий, на самом деле, принципиальных отличий в разработке кубов в Visual Studio 2008 от 2005 почти нет. Все делается по аналогии с предоставленным примером.
Добрый день! Пытаюсь подключить OLAP-куб к TSCRM и в ответ получаю ошибку. После нажатия кнопки "Установить информацию о соединении" через пол-минуты появляется диалог настройки. В качестве поставщика данных я использую "Microsoft OLE DB Provider for OLAP Services 8.0". Далее настраиваю подключение, выбираю куб, жму "Проверить подключение", проверка проходит успешно. После завершения настройки в иерархическом дереве OLAP-кубов появляется вновь добавленный куб. А в разделе "Таблица" появляется табличка, в детальной части которой находится запись "Запрос не может быть обработан: Поставщик данных не предоставил дополнительных сведений об ошибке". Пытался подключать кубы, построенные как на базе СУБД MS Access, так и на базе Oracle. Сначала я думал, что проблема заключается в MS Office WEB Components. Для её решения скачал с сайта Microsoft пакет обновления и установил его, но это не изменило ситуации. Не подскажете, в чём тут может быть дело?
Похоже не установлен Microsoft Query - входит в состав MS Office.
Попробуйте установить его - должно появиться другое окно настройки соединения с кубом.
Судя по всему, проблема заключается не в MS Query, потому что получить данные в Excel из OLAP-куба удаётся, а вот получить их в CRM не получается... Но на всяких случай переустановил MS Query, не помогло.