Поделиться через


Create an Analysis Services Job Step

Область применения: SQL Server Управляемый экземпляр SQL Azure

Внимание

В Управляемом экземпляре Azure SQL в настоящее время поддерживается большинство функций агента SQL Server (но не все). Подробные сведения см. в статье Различия между Управляемым экземпляром SQL Azure и SQL Server.

В этой статье описано, как создать и определить шаги задания агента SQL Server в SQL Server, которые выполняют команды и запросы службы анализирования SQL Server с помощью среды 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, пользователь должен быть членом предопределенной роли сервера sysadmin или обладать правом доступа к правильной учетной записи-посреднику, определенной для использования этой подсистемы. К тому же, служебная учетная запись агента SQL Server или прокси-сервер должны быть учетной записью администратора службы анализирования и допустимой учетной записью домена Windows.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    -- Creates a job step that uses XMLA to create a relational data source that
    -- references the AdventureWorks2022 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 AdventureWorks2022 Microsoft SQL Server database',  
        @subsystem = N'ANALYSISCOMMAND',  
        @command =
            N' <Create xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">  
        <ParentObject>  
            <DatabaseID>AdventureWorks2022</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>AdventureWorks2022</ID>  
                <Name>Adventure Works 2022</Name>  
                <ConnectionString>Data Source=localhost;Initial Catalog=AdventureWorks2022;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).

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

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

  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 [AdventureWorks2022]',   
        @retry_attempts = 5,  
        @retry_interval = 5 ;  
    GO  
    

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

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

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

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