Планирование административных задач SSAS с помощью агента SQL Server

С помощью службы агента SQL Server можно запланировать выполнение административных задач служб Analysis Services в порядке и времени, необходимых. Запланированные задачи помогают автоматизировать процессы, выполняемые на регулярных или прогнозируемых циклах. Вы можете запланировать административные задачи, такие как обработка куба, для выполнения во время медленной бизнес-активности. Вы также можете определить порядок выполнения задач, создав шаги задания в задании агента SQL Server. Например, можно обработать куб, а затем выполнить резервную копию куба.

Действия задания позволяют управлять потоком выполнения. Если одно задание завершается ошибкой, можно настроить агент SQL Server для продолжения выполнения оставшихся задач или остановки выполнения. Агент SQL Server также можно настроить для отправки уведомлений об успешном выполнении задания или сбое.

В этом разделе описывается два способа использования агента SQL Server для запуска скрипта XMLA. В первом примере показано, как запланировать обработку одного измерения. В двух примерах показано, как объединить задачи обработки в один скрипт, который выполняется по расписанию. Чтобы выполнить это пошаговое руководство, вам потребуется выполнить следующие предварительные требования.

Предпосылки

Необходимо установить службу агента SQL Server.

По умолчанию задания выполняются под учетной записью службы. В SQL Server 2012 учетная запись по умолчанию для агента SQL Server — NT Service\SQLAgent$<instancename>. Чтобы выполнить задачу резервного копирования или обработки, эта учетная запись должна быть системным администратором экземпляра служб Analysis Services. Дополнительные сведения см. в разделе "Предоставление разрешений администратора сервера" (службы Analysis Services).

Для работы с ней также должна быть тестовая база данных. Вы можете развернуть многомерную базу данных AdventureWorks или проект из многомерного руководства по службам Analysis Services, который будет использоваться в этом пошаговом руководстве. Дополнительные сведения см. в разделе "Установка примеров данных и проектов для руководства по многомерному моделированию в службах Analysis Services".

Пример 1. Обработка измерения в запланированной задаче

В этом примере показано, как создать и запланировать задание, обрабатывающее измерение.

Запланированная задача служб Analysis Services — это скрипт XMLA, внедренный в задание агента SQL Server. Это задание планируется выполнять в нужное время и частоту. Так как агент SQL Server является частью SQL Server, вы работаете с ядром СУБД и службами Analysis Services для создания и планирования административной задачи.

Создание скрипта для обработки измерения в задании агента SQL Server

  1. В Среда SQL Server Management Studio подключитесь к службы аналитики. Откройте папку базы данных и найдите измерение. Щелкните правой кнопкой мыши измерение и выберите "Процесс".

  2. В диалоговом окне Измерение процесса, в столбце Параметры процесса в списке объектов, убедитесь, что параметр для этого столбца — Полный процесс. Если это не так, в разделе "Параметры процесса" выберите параметр, а затем в раскрывающемся списке выберите "Обработка полной ".

  3. Нажмите кнопку "Скрипт".

    На этом шаге открывается окно XML-запроса , содержащее скрипт XMLA, обрабатывающий измерение.

  4. В диалоговом окне "Измерение процесса " нажмите кнопку "Отмена ", чтобы закрыть диалоговое окно.

  5. В окне запроса XMLA выделите скрипт XMLA , щелкните правой кнопкой мыши выделенный скрипт и выберите "Копировать".

    Этот шаг копирует скрипт XMLA в буфер обмена Windows. Скрипт XMLA можно оставить в буфере обмена или вставить его в Блокнот или другой текстовый редактор. Ниже приведен пример скрипта XMLA.

    <Batch xmlns="https://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>  
    

Создание и планирование задания обработки измерения

  1. Подключитесь к экземпляру ядра СУБД, а затем откройте обозреватель объектов.

  2. Разверните SQL Server Agent.

  3. Щелкните правой кнопкой мыши задания и выберите "Создать задание".

  4. В диалоговом окне "Новое задание " введите имя задания в поле "Имя".

  5. В разделе "Выбор страницы" выберите "Шаги" и нажмите кнопку "Создать".

  6. В диалоговом окне "Новый шаг задания " введите имя шага в имени шага.

  7. В поле Server введите localhost для экземпляра служб Analysis Services по умолчанию и localhost\<имя экземпляра> для именованного экземпляра.

    Если задание будет выполняться с удаленного компьютера, используйте имя сервера и имя экземпляра, где будет выполняться задание. Используйте формат <имя сервера> для экземпляра по умолчанию и <имя сервера>\<имя экземпляра> для именованного экземпляра.

  8. В Тип выберите команду SQL Server Analysis Services.

  9. В команде щелкните правой кнопкой мыши и выберите " Вставить". Скрипт XMLA, созданный на предыдущем шаге, должен отображаться в командном окне.

  10. Нажмите кнопку ОК.

  11. В разделе "Выбор страницы" щелкните "Расписания" и нажмите кнопку "Создать".

  12. В диалоговом окне "Новое расписание задания " введите имя расписания в поле "Имя" и нажмите кнопку "ОК".

    Этот шаг создает расписание на воскресенье на 00:00. На следующем шаге показано, как вручную выполнить задание. Можно также указать расписание, согласно которому задание выполняется во время его отслеживания.

  13. В диалоговом окне "Создать задание " нажмите кнопку "ОК".

  14. В обозревателе объектов разверните "Задания", щелкните правой кнопкой мыши созданное задание и нажмите кнопку "Пуск задания" на шаге.

    Так как задание имеет только один шаг, задание выполняется немедленно. Если задание содержит несколько шагов, можно выбрать шаг, с которого должно начаться задание.

  15. По завершении задания нажмите кнопку "Закрыть".

Пример 2. Пакетная обработка измерения и раздела в запланированном задании

В этом примере показано, как создать и запланировать задание, которое пакетно обрабатывает измерение базы данных Analysis Services, и одновременно обрабатывать секцию куба, которая зависит от измерения для агрегирования. Дополнительные сведения о пакетной обработке объектов служб Analysis Services см. в статье "Пакетная обработка" (Службы Analysis Services).

Создайте скрипт для пакетной обработки измерения и раздела в задании агента SQL Server.

  1. Используя ту же базу данных, раскройте «Измерения», щелкните правой кнопкой мыши измерение Клиента и выберите «Процесс».

  2. В диалоговом окне Измерение процесса в столбце Параметры процесса под списком объектов убедитесь, что параметр для этого столбца — Полный процесс.

  3. Нажмите кнопку "Скрипт".

    На этом шаге открывается окно XML-запроса , содержащее скрипт XMLA, обрабатывающий измерение.

  4. В диалоговом окне "Измерение процесса " нажмите кнопку "Отмена ", чтобы закрыть диалоговое окно.

  5. Разверните кубы, разверните adventure Works, разверните группы мер, разверните интернет-продажи, разверните разделы, щелкните правой кнопкой мыши последнюю секцию в списке и выберите "Процесс".

  6. В диалоговом окне "Секция процесса " в столбце "Параметры процесса " в списке объектов убедитесь, что для этого столбца задан параметр Process Full.

  7. Нажмите кнопку "Скрипт".

    На этом шаге открывается второе окно XML-запроса , содержащее скрипт XMLA, обрабатывающий секцию.

  8. В диалоговом окне "Секция процесса " нажмите кнопку "Отмена ", чтобы закрыть редактор.

    На этом этапе необходимо объединить два скрипта и убедиться, что измерение обрабатывается сначала.

    Предупреждение

    Если раздел обрабатывается сначала, последующая обработка измерения приводит к тому, что раздел остается необработанным. Затем секции потребуется вторая обработка для достижения обработанного состояния.

  9. В окне запроса XMLA , содержащего скрипт XMLA, который обрабатывает секцию, выделите код внутри 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>  
    
  10. Откройте окно запроса XMLA , содержащее скрипт XMLA, обрабатывающий измерение. Щелкните правой кнопкой мыши внутри сценария слева от тега </Process> и выберите Вставить.

    В следующем примере показан измененный скрипт XMLA.

    <Batch xmlns="https://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>  
    
  11. Выделите измененный скрипт XMLA, щелкните правой кнопкой мыши выделенный скрипт и выберите "Копировать".

  12. Этот шаг копирует скрипт XMLA в буфер обмена Windows. Вы можете оставить скрипт XMLA в буфере обмена, сохранить его в файл или вставить его в Блокнот или другой текстовый редактор.

Создание и планирование задания пакетной обработки

  1. Подключитесь к экземпляру SQL Server и откройте обозреватель объектов.

  2. Разверните SQL Server Agent. Запустите службу, если она не работает.

  3. Щелкните правой кнопкой мыши задания и выберите "Создать задание".

  4. В диалоговом окне "Новое задание " введите имя задания в поле "Имя".

  5. В разделе "Действия" нажмите кнопку "Создать".

  6. В диалоговом окне "Новый шаг задания " введите имя шага в имени шага.

  7. В Типе выберите Команда SQL Server Analysis Services.

  8. В разделе "Запуск от имени" выберите учетную запись службы агента SQL Server. Помните, что эта учетная запись должна иметь административные разрешения на службы Analysis Services, как указано в разделе предварительных требований.

  9. На сервере укажите имя сервера экземпляра Analysis Services.

  10. В команде щелкните правой кнопкой мыши и выберите " Вставить".

  11. Нажмите кнопку ОК.

  12. На странице "Расписания" нажмите кнопку "Создать".

  13. В диалоговом окне "Новое расписание задания " введите имя расписания в поле "Имя" и нажмите кнопку "ОК".

    Этот шаг настраивает расписание на воскресенье на 0:00. На следующем шаге показано, как вручную выполнить задание. Вы также можете выбрать расписание, которое будет выполнять задание при его мониторинге.

  14. Нажмите кнопку ОК, чтобы закрыть диалоговое окно.

  15. В обозревателе объектов разверните "Задания", щелкните правой кнопкой мыши созданное задание и выберите "Начать задание на шаге".

    Так как задание имеет только один шаг, задание выполняется немедленно. Если задание содержит несколько шагов, можно выбрать шаг, с которого должно начаться задание.

  16. По завершении задания нажмите кнопку "Закрыть".

См. также

Опции и настройки обработки (службы Analysis Services)
Администрирование скриптов в службах Analysis Services