Для обновления 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 – скрипт:
Перейдите на свойство «Дополнительно» и заполните, при
необходимости, поля «Действие при успехе», «Повторные попытки», их «Интервал», «Действие
при ошибке» и т.д.
Создав необходимые шаги, перейдите на создание «Расписания».
Выберите одно из следующих значений для параметра «Тип расписания». Чтобы
запускать задание, когда процессоры переходят в состояние бездействия, щелкните
«Запускать при бездействии процессоров». Если необходимо периодическое
выполнение расписания, выберите пункт «Повторяющееся задание». Затем в
диалоговом окне заполните группы «Частота», «Сколько раз в день» и «Продолжительность».
Если планируется однократное выполнение, выберите «Один раз».
Для установки расписания «Один раз» заполните в диалоговом окне группу «Однократное
выполнение».
Остальные страницы задания(«Предупреждения», «Уведомления»,
«Цели») создайте и настройте при
необходимости.
Подтверждаем создание Задания кнопкой «ОК», задание создано и запланирована обработка куба по расписанию.
Комментариев нет:
Отправить комментарий