Создание шага задания служб Analysis Services

В этом разделе описан процесс создания и определения в SQL Server 2012 шагов заданий агента SQL Server, которые выполняют команды и запросы служб SQL Server Analysis Services с помощью среды Среда SQL Server Management Studio, Transact-SQL или управляющих объектов SQL Server (SMO).

  • Перед началом работы выполните следующие действия.  

    Ограничения

    Безопасность

  • Создание шагов заданий SQL Server с помощью команд или запросов служб Analysis Services с использованием следующих средств.

    Среда SQL Server Management Studio

    Transact-SQL

    Управляющие объекты SQL Server

Перед началом

Ограничения

  • Если шаг задания использует команду служб Analysis Services, то инструкция команды должна быть методом XMLA Execute. Инструкция не может содержать полный конверт SOAP или метод Discover XML для аналитики. Хотя в среде Среда SQL Server Management Studio поддерживаются полные конверты SOAP и метод Discover, шаги заданий агента SQL Server в ней не поддерживаются. Дополнительные сведения о XML для служб Analysis Services см. в разделе Общие сведения о XML для аналитики (XMLA).

  • Если шаг задания использует запрос служб Analysis Services, то инструкция запроса команды должна быть запросом многомерных выражений (MDX). Дополнительные сведения о многомерных выражениях см. в разделе Основные принципы запросов многомерных выражений (службы Analysis Services).

Безопасность

Разрешения

  • Чтобы запустить шаг задания, использующий подсистему служб Analysis Services, пользователь должен быть членом предопределенной роли сервера sysadmin или обладать правом доступа к правильной учетной записи-посреднику, определенной для использования этой подсистемы. К тому же учетная запись службы агента SQL Server или его учетная запись-посредник должна быть учетной записью администратора служб Analysis Services и правильной учетной записью домена Windows.

  • Записывать выходные данные шага задания в файл могут только элементы предопределенной роли сервера sysadmin. Если шаги задания выполняются пользователями, которые являются элементами роли базы данных SQLAgentUserRole в базе данных msdb, то выходные данные можно записать только в таблицу. Агент SQL Server записывает выходные данные шага задания в таблицу sysjobstepslog в базе данных msdb.

  • Дополнительные сведения см. в разделе Обеспечение безопасности агента SQL Server.

Значок стрелки, используемый со ссылкой «В начало»[Top]

Использование среды SQL Server Management Studio

Создание шага задания команды службы Analysis Services

  1. В обозревателе объектов подключитесь к экземпляру компонента Компонент SQL Server Database Engine и разверните его.

  2. Раскройте пункт Агент SQL Server, создайте новое задание или щелкните правой кнопкой мыши существующее задание и выберите пункт Свойства. Дополнительные сведения о создании заданий см. в разделе Создание заданий.

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

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

  5. В списке Типы выберите Команда служб SQL Server Analysis Services.

  6. В списке Выполнять как выберите учетную запись-посредник, определенную для использования подсистемы команд служб Analysis Services. Пользователь, являющийся членом предопределенной роли сервера sysadmin, также может выбрать Учетную запись службы агента SQL Server, чтобы запустить этот шаг задания.

  7. Выберите Сервер, на котором будет выполняться шаг задания, или введите имя сервера.

  8. Введите инструкцию в поле Команда или нажмите кнопку Открыть, чтобы выбрать инструкцию.

  9. Перейдите на страницу Дополнительно, чтобы определить параметры данного шага задания, например, действия, которые должен предпринимать агент SQL Server в случае успешного или неуспешного выполнения этого шага, количество попыток выполнения шага задания, а также направление записи результатов шага задания.

Значок стрелки, используемый со ссылкой «В начало»[Top]

Создание шага задания запроса служб Analysis Services

  1. В обозревателе объектов установите соединение с экземпляром компонента Компонент SQL Server Database Engine и разверните его.

  2. Раскройте пункт Агент SQL Server, создайте новое задание или щелкните правой кнопкой мыши существующее задание и выберите пункт Свойства. Дополнительные сведения о создании заданий см. в разделе Создание заданий.

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

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

  5. В списке Типы выберите Запрос служб SQL Server Analysis Services.

  6. В списке Выполнять как выберите учетную запись-посредник, определенную для использования подсистемы Query служб Analysis Services. Пользователь, являющийся членом предопределенной роли сервера sysadmin, также может выбрать Учетную запись службы агента SQL Server, чтобы запустить этот шаг задания.

  7. Выберите пункты Сервер и База данных, на которых будет выполняться шаг задания, или введите имя сервера или базы данных.

  8. Введите инструкцию в поле Команда или нажмите кнопку Открыть, чтобы выбрать инструкцию.

  9. Перейдите на страницу Дополнительно, чтобы определить параметры данного шага задания, например, действия, которые должен предпринимать агент SQL Server в случае успешного или неуспешного выполнения этого шага, количество попыток выполнения шага задания, а также направление записи результатов шага задания.

Значок стрелки, используемый со ссылкой «В начало»[Top]

Использование Transact-SQL

Создание шага задания команды службы Analysis Services

  1. В обозревателе объектов установите соединение с экземпляром компонента Компонент Database Engine.

  2. На панели «Стандартная» выберите пункт Создать запрос.

  3. Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить.

    -- Creates a job step that uses XMLA to create a relational data source that references the AdventureWorks2012 Microsoft SQL Server database
    USE msdb;
    GO
    EXEC sp_add_jobstep
        @job_name = N'Weekly Sales Data Backup',
        @step_name = N'Create a relational data source that references the AdventureWorks2012 Microsoft SQL Server database ',
        @subsystem = N'ANALYSISCOMMAND',
        @command = N' <Create xmlns="https://schemas.microsoft.com/analysisservices/2003/engine">
        <ParentObject>
            <DatabaseID>AdventureWorks2012</DatabaseID>
        </ParentObject>
        <ObjectDefinition>
            <DataSource xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="RelationalDataSource">
                <ID>AdventureWorks2012</ID>
                <Name>Adventure Works 2012</Name>
                <ConnectionString>Data Source=localhost;Initial Catalog=AdventureWorks2012;Integrated Security=True</ConnectionString>
                <ImpersonationInfo>
                    <ImpersonationMode>ImpersonateServiceAccount</ImpersonationMode>
                </ImpersonationInfo>
                <ManagedProvider>System.Data.SqlClient</ManagedProvider>
                <Timeout>PT0S</Timeout>
            </DataSource>
        </ObjectDefinition>
    </Create>', ;
    GO
    

Дополнительные сведения см. в разделе sp_add_jobstep (Transact-SQL).

Значок стрелки, используемый со ссылкой «В начало»[Top]

Создание шага задания запроса служб Analysis Services

  1. В обозревателе объектов установите соединение с экземпляром компонента Компонент Database Engine.

  2. На панели «Стандартная» выберите пункт Создать запрос.

  3. Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить.

    -- Creates a job step that uses MDX to return data
    USE msdb;
    GO
    EXEC sp_add_jobstep
        @job_name = N'Weekly Sales Data Backup',
        @step_name = N'Returns the Internet sales amount by state',
        @subsystem = N'ANALYSISQUERY',
        @command = N' SELECT
       [Measures].[Internet Sales Amount] ON COLUMNS,
       [Customer].[State-Province].Members ON ROWS
    FROM [AdventureWorks2012]', 
        @retry_attempts = 5,
        @retry_interval = 5 ;
    GO
    

Дополнительные сведения см. в разделе sp_add_jobstep (Transact-SQL).

Значок стрелки, используемый со ссылкой «В начало»[Top]

Использование управляющих объектов SQL Server

Создание шага задания скрипта PowerShell

Используйте класс JobStep в выбранном языке программирования, например XMLA или MDX. Дополнительные сведения см. в разделе Использование управляющих объектов SQL Server (SMO).

Значок стрелки, используемый со ссылкой «В начало»[Top]