Планирование задач администрирования служб SSAS с помощью агента SQL Server
Применимо к: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium
С помощью службы агент SQL Server можно запланировать выполнение SQL Server Analysis Services административных задач в нужном порядке и времени. Планирование задач позволяет автоматизировать процессы, выполняющиеся регулярно или с предсказуемой цикличностью. Задачи типа обработки кубов могут быть запланированы на периоды низкой деловой активности. Кроме того, при создании шагов задания агента SQL Server пользователь имеет возможность определить порядок, в котором будут выполняться задачи. Например, можно выполнить обработку куба, а затем создать его резервную копию.
Шаги задания позволяют управлять потоком выполнения. Агент SQL Server может быть настроен таким образом, чтобы в случае сбоя одного из заданий выполнение оставшихся задач было продолжено или прекращено. Вы можете также настроить агент SQL Server на отправку уведомлений о выполнении или сбое выполнения задания.
Данный раздел является пошаговым руководством, демонстрирующим два способа использования агента SQL Server для запуска скрипта XML для аналитики. В первом примере показано, как запланировать обработку одного измерения. Второй пример показывает, как объединить задачи обработки в единый скрипт, выполняемый по расписанию. Для прохождения этого пошагового руководства необходимо выполнить следующие предварительные требования.
Предварительные требования
Должна быть установлена служба агента SQL Server.
По умолчанию задания запускаются под учетной записью службы. По умолчанию для агент SQL Server используется учетная запись NT Service\SQLAgent$<имя_экземпляра>. Для выполнения задачи резервного копирования или обработки эта учетная запись должна принадлежать системному администратору в экземпляре служб Analysis Services. Дополнительные сведения см. в статье Предоставление прав администратора сервера экземпляру служб Analysis Services.
Также необходимо наличие тестовой базы данных, с которой будет производиться работа. Для использования в данном пошаговом руководстве вы можете развернуть образец многомерной базы данных AdventureWorks или проект из учебника по многомерному моделированию в службах Analysis Services. Дополнительные сведения см. в статье Установка примеров данных и проектов для руководства по многомерному моделированию служб Analysis Services.
Пример 1. Обработка измерения в запланированной задаче
В этом примере показано, как создать и запланировать задание по обработке измерения.
Запланированная задача SQL Server Analysis Services — это скрипт XMLA, внедренный в задание агент SQL Server. Это задание имеет расписание для запуска в нужное время и с нужной частотой. Так как агент SQL Server является частью SQL Server, вы работаете с ядром СУБД и SQL Server Analysis Services для создания и планирования задачи администрирования.
Создание скрипта для обработки измерения в задании агента SQL Server
В SQL Server Management Studio подключитесь к SQL Server Analysis Services. Откройте папку базы данных и найдите измерение. Щелкните измерение правой кнопкой мыши и выберите команду Обработать.
Убедитесь в том, что в диалоговом окне Обработка измерения в разделе Список объектов для столбца Параметры обработкивыбран параметр Обработка. Полная. Если этот параметр не выбран, выделите столбец Параметры обработки, а затем в раскрывающемся списке выберите Обработка. Полная .
Нажмите кнопку Скрипт.
На этом шаге открывается окно XML-запрос , содержащее скрипт XML для аналитики, который обрабатывает измерение.
В диалоговом окне Обработка измерения нажмите кнопку Отмена , чтобы закрыть его.
В окне Запрос XML для аналитики выделите скрипт XML для аналитики, щелкните его правой кнопкой мыши и выберите команду Копировать.
Этот шаг копирует скрипт XML для аналитики в буфер обмена Windows. Скрипт XML для аналитики вы можете оставить в буфере обмена или вставить его в «Блокнот» или другой текстовый редактор. Далее приведен пример скрипта XML для аналитики.
<Batch xmlns="http://schemas.microsoft.com/analysisservices/2003/engine"> <Parallel> <Process xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Object> <DatabaseID>Adventure Works DW Multidimensional</DatabaseID> <DimensionID>Dim Account</DimensionID> </Object> <Type>ProcessFull</Type> <WriteBackTableCreation>UseExisting</WriteBackTableCreation> </Process> </Parallel> </Batch>
Создание и планирование задания обработки измерения
Подключитесь к экземпляру ядра СУБД, а затем откройте обозреватель объектов.
Разверните узел Агент SQL Server.
Щелкните правой кнопкой мыши Задания и выберите пункт Создать задание.
В диалоговом окне Создание задания введите имя задания в поле Имя.
В разделе Выбор страницывыберите Шаги, а затем нажмите Создать.
В диалоговом окне Новый шаг задания введите имя шага в поле Имя шага.
В поле Сервер введите localhost для экземпляра по умолчанию SQL Server Analysis Services и localhost\<instance name> для именованного экземпляра.
Если задание будет выполняться с удаленного компьютера, используйте имя сервера и имя экземпляра, в котором будет выполняться задание. Используйте формат <имени> сервера для экземпляра по умолчанию и <имя> сервера\<имя >экземпляра для именованного экземпляра.
В поле Типвыберите Команда служб SQL Server Analysis Services.
В поле Командащелкните правой кнопкой мыши и выберите Вставить. Скрипт XML для аналитики, созданный на предыдущем шаге, должен отобразиться в командном окне.
Нажмите кнопку ОК.
В разделе Выбор страницывыберите Расписания, а затем нажмите Создать.
В диалоговом окне Создание расписания задания введите имя расписания в поле Имя, а затем нажмите кнопку ОК.
Этот шаг создает расписание на воскресенье в 00:00. Следующий шаг показывает, как вручную выполнить задание. Вы можете также указать расписание, которое выполнит задание во время его мониторинга.
В диалоговом окне Создание задания нажмите кнопку ОК.
В обозревателе объектовразверните узел Задания, щелкните правой кнопкой мыши созданное задание и выберите команду Запустить задание на шаге.
Поскольку задание состоит только из одного шага, оно будет выполнено немедленно. Если в задании содержится более одного шага, вы можете выбрать шаг, с которого будет запущено задание.
По завершении задания нажмите кнопку Закрыть.
Пример 2. Пакетная обработка измерения и секции в запланированной задаче
Процедуры в этом примере демонстрируют, как создать и запланировать задание, которое пакетно обрабатывает SQL Server Analysis Services измерении базы данных, и в то же время обрабатывает секцию куба, которая зависит от измерения для агрегирования. Дополнительные сведения о пакетной обработке объектов SQL Server Analysis Services см. в статье Пакетная обработка (службы Analysis Services).
Создание скрипта для пакетной обработки измерения и секции в задании агента SQL Server
Используя ту же базу данных, разверните узел Измерения, щелкните правой кнопкой мыши измерение Клиент и выберите Обработать.
Убедитесь в том, что в диалоговом окне Обработка измерения для столбца Параметры обработки в разделе Список объектоввыбран параметр Обработка. Полная.
Нажмите кнопку Скрипт.
На этом шаге открывается окно XML-запрос , содержащее скрипт XML для аналитики, который обрабатывает измерение.
В диалоговом окне Обработка измерения нажмите кнопку Отмена , чтобы закрыть его.
Разверните последовательно узлы Кубы, Adventure Works, Группы мер, Интернет-продажи, Секции, щелкните правой кнопкой мыши последнюю секцию в списке и выберите команду Обработать.
Убедитесь в том, что в диалоговом окне Обработка секции для столбца Параметры обработки в разделе Список объектоввыбран параметр Обработка. Полная.
Нажмите кнопку Скрипт.
На этом шаге откроется второе окно XML-запрос , содержащее скрипт XML для аналитики, который обрабатывает секцию.
В диалоговом окне Обработка секции нажмите кнопку Отмена , чтобы закрыть редактор.
На этом этапе необходимо объединить два скрипта и обеспечить обработку измерения в первую очередь.
Предупреждение
Если сначала обрабатывается секция, последующая обработка измерения приводит к тому, что секция становится необработанной. После этого для достижения обработанного состояния требуется повторная обработка секции.
В окне Запрос XML для аналитики , содержащем скрипт XML для аналитики, который обрабатывает раздел, выделите код внутри тегов
Batch
иParallel
, щелкните правой кнопкой мыши выделенный скрипт и выберите команду Копировать.<Process xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Object> <DatabaseID> Adventure Works DW Multidimensional</DatabaseID> <CubeID>Adventure Works</CubeID> <MeasureGroupID>Fact Internet Sales 1</MeasureGroupID> <PartitionID> Internet_Sales_2004</PartitionID> </Object> <Type>ProcessFull</Type> <WriteBackTableCreation>UseExisting</WriteBackTableCreation> </Process>
Откройте окно Запрос XML для аналитики , содержащее скрипт XML для аналитики, который обрабатывает измерение. Щелкните правой кнопкой мыши внутри скрипта слева от тега
</Process>
и выберите команду Вставить.В следующем примере показан измененный скрипт XML для аналитики.
<Batch xmlns="http://schemas.microsoft.com/analysisservices/2003/engine"> <Parallel> <Process xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Object> <DatabaseID>Adventure Works DW Multidimensional</DatabaseID> <DimensionID>Dim Customer</DimensionID> </Object> <Type>ProcessFull</Type> <WriteBackTableCreation>UseExisting</WriteBackTableCreation> </Process> <Process xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Object> <DatabaseID>Adventure Works DW Multidimensional</DatabaseID> <CubeID>Adventure Works</CubeID> <MeasureGroupID>Fact Internet Sales 1</MeasureGroupID> <PartitionID>Internet_Sales_2004</PartitionID> </Object> <Type>ProcessFull</Type> <WriteBackTableCreation>UseExisting</WriteBackTableCreation> </Process> </Parallel> </Batch>
Выделите измененный скрипт XML для аналитики, щелкните его правой кнопкой мыши и выберите команду Копировать.
Этот шаг копирует скрипт XML для аналитики в буфер обмена Windows. Скрипт XML для аналитики вы можете оставить в буфере обмена, сохранить в файл или вставить его в «Блокнот» или другой текстовый редактор.
Создание и планирование задания пакетной обработки
Подключитесь к экземпляру SQL Server, а затем откройте обозреватель объектов.
Разверните узел Агент SQL Server. Если служба не запущена, запустите ее.
Щелкните правой кнопкой мыши Задания и выберите пункт Создать задание.
В диалоговом окне Создание задания введите имя задания в поле Имя.
В разделе Шагинажмите Создать.
В диалоговом окне Новый шаг задания введите имя шага в поле Имя шага.
В поле Типвыберите Команда служб SQL Server Analysis Services.
В разделе Выполнять каквыберите пункт Учетная запись службы агента SQL Server. Как было указано в разделе «Предварительные требования», эта учетная запись должна иметь разрешения администратора для служб Analysis Services.
В поле Серверукажите имя сервера экземпляра служб Analysis Services.
В поле Командащелкните правой кнопкой мыши и выберите Вставить.
Нажмите кнопку ОК.
На странице Расписания нажмите кнопку Создать.
В диалоговом окне Создание расписания задания введите имя расписания в поле Имя, а затем нажмите кнопку ОК.
Этот шаг создает расписание на воскресенье в 00:00. Следующий шаг показывает, как вручную выполнить задание. Вы можете также выбрать расписание, которое выполнит задание во время его мониторинга.
Чтобы закрыть диалоговое окно, нажмите кнопку ОК .
В обозревателе объектовразверните узел Задания, щелкните правой кнопкой мыши созданное задание и выберите команду Запустить задание на шаге.
Поскольку задание состоит только из одного шага, оно будет выполнено немедленно. Если в задании содержится более одного шага, вы можете выбрать шаг, с которого будет запущено задание.
По завершении задания нажмите кнопку Закрыть.