четверг, 21 ноября 2013 г.

Обновление OLAP-кубов в SQL Server Analysis Services(SSAS) по расписанию



Для обновления OLAP-кубов можно использовать SSIS или Sql Server Agent. В SSIS есть уже готовый  компонент с различными настройками для обновления куба, но в  данном примере речь пойдет о Sql Server Agent .
Изначально необходимо подготовить XMLA-скрипты для дальнейшего их использования в задании Sql Server Agent.
Использование среды SQL Server Management Studio(SSMS)  для создания XMLA-скрипта.
В среде Среда SQL Server Management Studio (SSMS ) подключитесь к экземпляру служб Analysis Services:

Раскройте узел «Базы данных», далее раскройте необходимую БД и соответствующий ей куб , щелкните правой кнопкой мыши  по наименованию куба который хотите обрабатывать  и выберите команду «Обработать»:
В открывшемся диалоговом окне «Обработка куба» нажмите кнопку «Сценарий» в верхней части диалогового окна. Функция «Сценарий»  является частью всех диалоговых окон, относящихся к задачам, в среде Management Studio. Она имеет следующие параметры. Вариант «Записать действие в новом окне запроса»  открывает окно редактора запросов, вариант «Записать сценарий  в файл» сохраняет XMLA - скрипт в файл, а вариант «Записать сценарий  в буфер» сохраняет XMLA - скрипт в буфер обмена. Выберите  «Записать сценарий в файл» и сохраните  его для дальнейшего использования:
 
Теперь вы можете закрыть диалоговое окно «Обработка куба».
Записанный фал будет содержать необходимый XMLA-скрипт приблизительно такого содержания:
<Batch xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">
  <Parallel>
    <Process ……mlns:ddl200_200="http://schemas.microsoft.com......>
      <Object>
        <DatabaseID> ID_базы_данных </DatabaseID>
        <CubeID>Имя_куба</CubeID>
      </Object>
      <Type>ProcessFull</Type>
      <WriteBackTableCreation>UseExisting</WriteBackTableCreation>
    </Process>
  </Parallel>
</Batch>
Аналогичным образом можно получить скрип для обработки всех Измерений и объединить их в один Batch для обработки перед основной обработкой куба, но это уже зависит от поставленной задачи.

Агент SQL Server
Агент SQL Server — это служба Microsoft Windows, выполняющая запланированные административные задачи, которые называются заданиями в SQL Server 2008R2.
Агент SQL Server использует SQL Server для хранения сведений о заданиях. Задание состоит из одного или нескольких шагов. Каждый шаг содержит собственную задачу, например создание резервной копии базы данных или обновления куба как в нашем примере.
Агент SQL Server может выполнять задания по расписанию в ответ на определенное событие или по требованию.
Использование среды SQL Server Management Studio
Создание задания
В обозревателе объектов установите соединение с экземпляром компонента Компонент Database Engine:
и разверните его.
Раскройте узел Агент SQL Server, щелкните правой кнопкой мыши узел «Задания» и выберите «Создать задание»:


В поле «Имя» введите имя нового задания:

 
Если не нужно, чтобы задание вступило в силу немедленно после создания, снимите флажок Включено.
Далее необходимо перейти на страницу «Шаги», и создать новый шаг:
 
В свойствах «Общие» укажите имя шага, в поле «Тип»  выберите  Команда служб SQl Server  Analysis Services, укажите сервер, ниже в поле «Команда» вставьте ранее сохраненный  XMLA – скрипт:
Перейдите на свойство «Дополнительно» и заполните, при необходимости, поля «Действие при успехе», «Повторные попытки», их «Интервал», «Действие при ошибке» и т.д.
Создав необходимые шаги, перейдите на создание «Расписания». Выберите одно из следующих значений для параметра «Тип расписания». Чтобы запускать задание, когда процессоры переходят в состояние бездействия, щелкните «Запускать при бездействии процессоров». Если необходимо периодическое выполнение расписания, выберите пункт «Повторяющееся задание». Затем в диалоговом окне заполните группы «Частота», «Сколько раз в день» и «Продолжительность».
Если планируется однократное выполнение, выберите «Один раз». Для установки расписания «Один раз» заполните в диалоговом окне группу «Однократное выполнение».
Остальные страницы задания(«Предупреждения», «Уведомления», «Цели»)  создайте и настройте при необходимости.
Подтверждаем создание Задания кнопкой «ОК», задание создано и запланирована обработка куба по расписанию.

Комментариев нет:

Отправить комментарий