Публикация

Автоматическое обновление OLAP-куба

Добрый день!
Недавно передо мной стала задача, с которой я никогда не сталкивался, а именно обновление 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

xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">
  >
    xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      >
        >My_Database_Name>
      >
      >ProcessFull>
      >UseExisting>
    >
  >
>

Причем в качестве My_Database_Name выступает не имя куба, а именно имя базы, развернутой на Analysis Services.
10. Сохраняем шаг.
11. Ну а дальше на закладке Schedules добавляем расписание, по которому будет выполняться обновление куба (не забудьте об occurs every 2 hours), и сохраняем job.

Как видите, вроде бы ничего сложного. На этом все.

Нравится

Поделиться

0 комментариев
Показать все комментарии