Create an Analysis Services Job StepCreate an Analysis Services Job Step

이 항목에서는 SQL ServerSQL Server , SQL Server 2017SQL Server 2017 또는 SQL Server 관리 개체를 사용하여 SQL ServerSQL Server 에서 SQL Server Management StudioSQL Server Management StudioAnalysis Services 명령 및 쿼리를 실행하는 Transact-SQLTransact-SQL 에이전트 작업 단계를 만들고 정의하는 방법에 대해 설명합니다.This topic describes how to create and define SQL ServerSQL Server Agent job steps in SQL Server 2017SQL Server 2017 that execute SQL ServerSQL Server Analysis Services commands and queries by using SQL Server Management StudioSQL Server Management Studio, Transact-SQLTransact-SQL or SQL Server Management Objects.

시작하기 전에Before You Begin

제한 사항Limitations and Restrictions

  • 작업 단계에서 Analysis Services 명령을 사용하는 경우 명령 문은 XML for Analysis Services Execute 메서드여야 합니다.If the job step uses an Analysis Services command, the command statement must be an XML for Analysis Services Execute method. 문에 전체 SOAP(Simple Object Access Protocol) Envelope 또는 XML for Analysis Discover 메서드를 포함할 수 없습니다.The statement may not contain a complete Simple Object Access Protocol (SOAP) envelope or an XML for Analysis Discover method. SQL Server Management StudioSQL Server Management Studio 에서는 전체 SOAP Envelope와 Discover 메서드를 지원하지만 SQL ServerSQL Server 에이전트 작업 단계에서는 지원하지 않습니다.While SQL Server Management StudioSQL Server Management Studio supports complete SOAP envelopes and the Discover method, SQL ServerSQL Server Agent job steps do not. XML for Analysis Services에 대한 자세한 내용은 XML for Analysis 개요(XMLA)를 참조하세요.For more information about XML for Analysis Services, see XML for Analysis Overview (XMLA).

  • 작업 단계에서 Analysis Services 쿼리를 사용하는 경우 쿼리 문은 MDX(Multidimensional Expressions) 쿼리여야 합니다.If the job step uses an Analysis Services query, the query statement must be a multidimensional expressions (MDX) query. MDX에 대한 자세한 내용은 MDX 문 기본 사항(MDX)을 참조하세요.For more information about MDX, see MDX Statement Fundamentals (MDX).

보안Security

PermissionsPermissions

  • Analysis Services 하위 시스템을 사용하는 작업 단계를 실행하려면 사용자가 sysadmin 고정 서버 역할의 멤버이거나 이 하위 시스템을 사용하도록 정의된 올바른 프록시 계정에 액세스할 수 있어야 합니다.To run a job step that uses the Analysis Services subsystem, a user must be a member of the sysadmin fixed server role or have access to a valid proxy account defined to use this subsystem. 또한 SQL ServerSQL Server 에이전트 서비스 계정이나 프록시가 Analysis Services 관리자이고 올바른 Windows 도메인 계정이어야 합니다.In addition, the SQL ServerSQL Server Agent service account or the proxy must be an Analysis Services administrator and a valid Windows domain account.

  • sysadmin 고정 서버 역할의 멤버만 작업 단계 출력을 파일에 쓸 수 있습니다.Only members of the sysadmin fixed server role can write job step output to a file. msdb 데이터베이스에서 SQLAgentUserRole 데이터베이스 역할 멤버인 사용자가 작업 단계를 실행하면 테이블에만 출력을 쓸 수 있습니다.If the job step is run by users who are members of the SQLAgentUserRole database role in the msdb database, then the output can be written only to a table. SQL ServerSQL Server 에이전트에서 msdb 데이터베이스의 sysjobstepslog 테이블에 작업 단계 출력을 씁니다. Agent writes job step output to the sysjobstepslog table in the msdb database.

  • 자세한 내용은 Implement SQL Server Agent Security을 참조하세요.For detailed information, see Implement SQL Server Agent Security.

SQL Server Management Studio 사용Using SQL Server Management Studio

Analysis Services 명령 작업 단계를 만들려면To create an Analysis Services command job step

  1. 개체 탐색기 에서 SQL Server 데이터베이스 엔진SQL Server Database Engine인스턴스에 연결한 다음 해당 인스턴스를 확장합니다.In Object Explorer, connect to an instance of the SQL Server 데이터베이스 엔진SQL Server Database Engine, and then expand that instance.

  2. SQL Server 에이전트를 확장하고 새 작업을 만들거나 기존 작업을 마우스 오른쪽 단추로 클릭한 다음 속성을 클릭합니다.Expand SQL Server Agent, create a new job or right-click an existing job, and then click Properties. 작업을 만드는 방법은 작업 만들기를 참조하세요.For more information on creating a job, see Create Jobs.

  3. 작업 속성 대화 상자에서 단계 페이지를 클릭한 다음 새로 만들기를 클릭합니다.In the Job Properties dialog box, click the Steps page, and then click New.

  4. 새 작업 단계 대화 상자에서 작업 단계 이름을 입력합니다.In the New Job Step dialog box, type a job Step name.

  5. 유형 목록에서 SQL Server Analysis Services 명령을 클릭합니다.In the Type list, click SQL Server Analysis Services Command.

  6. 다음 계정으로 실행 목록에서 Analysis Services 명령 하위 시스템을 사용하도록 정의된 프록시를 선택합니다.In the Run as list, select a proxy that has been defined to use the Analysis Services Command subsystem. sysadmin 고정 서버 역할의 멤버인 사용자는 SQL 에이전트 서비스 계정 을 선택하여 이 작업 단계를 실행할 수도 있습니다.A user who is a member of the sysadmin fixed server role can also select SQL Agent Service Account to run this job step.

  7. 작업 단계를 실행할 서버 를 선택하거나 서버 이름을 입력합니다.Select the Server where the job step will run, or type the server name.

  8. 명령 입력란에 실행할 문을 입력하거나 열기 를 클릭하여 문을 선택합니다.In the Command box, type the statement to execute, or click Open to select a statement.

  9. 작업 단계가 성공하거나 실패할 경우 SQL ServerSQL Server 에이전트가 수행할 동작으로 작업 단계를 시도할 횟수 및 작업 단계 출력이 쓸 위치와 같은 작업 단계에 대한 옵션을 정의하려면 고급 페이지를 클릭합니다.Click the Advanced page to define options for this job step, such as what action SQL ServerSQL Server Agent should take if the job step succeeds or fails, how many times the job step should be attempted, and where the job step output should be written.

Analysis Services 쿼리 작업 단계를 만들려면To create an Analysis Services query job step

  1. 개체 탐색기 에서 SQL Server 데이터베이스 엔진SQL Server Database Engine인스턴스에 연결한 다음 해당 인스턴스를 확장합니다.In Object Explorer, connect to an instance of the SQL Server 데이터베이스 엔진SQL Server Database Engine, and then expand that instance.

  2. SQL Server 에이전트를 확장하고 새 작업을 만들거나 기존 작업을 마우스 오른쪽 단추로 클릭한 다음 속성을 클릭합니다.Expand SQL Server Agent, create a new job or right-click an existing job, and then click Properties. 작업을 만드는 방법은 작업 만들기를 참조하세요.For more information on creating a job, see Create Jobs.

  3. 작업 속성 대화 상자에서 단계 페이지를 클릭한 다음 새로 만들기를 클릭합니다.In the Job Properties dialog, click the Steps page, and then click New.

  4. 새 작업 단계 대화 상자에서 작업 단계 이름을 입력합니다.In the New Job Step dialog, type a job Step name.

  5. 유형 목록에서 SQL Server Analysis Services 쿼리를 클릭합니다.In the Type list, click SQL Server Analysis Services Query.

  6. 다음 계정으로 실행 목록에서 Analysis Services 쿼리 하위 시스템을 사용하도록 정의된 프록시를 선택합니다.In the Run as list, select a proxy that has been defined to use the Analysis Services Query subsystem. sysadmin 고정 서버 역할의 멤버인 사용자는 SQL 에이전트 서비스 계정 을 선택하여 이 작업 단계를 실행할 수도 있습니다.A user who is a member of the sysadmin fixed server role can also select SQL Agent Service Account to run this job step.

  7. 작업 단계를 실행할 서버데이터베이스 를 선택하거나 서버 또는 데이터베이스 이름을 입력합니다.Select the Server and the Database where the job step will run, or type the server or database name.

  8. 명령 입력란에 실행할 문을 입력하거나 열기 를 클릭하여 문을 선택합니다.In the Command box, type the statement to execute, or click Open to select a statement.

  9. 작업 단계가 성공하거나 실패할 경우 SQL ServerSQL Server 에이전트가 수행할 동작으로 작업 단계를 시도할 횟수 및 작업 단계 출력이 쓸 위치와 같은 작업 단계에 대한 옵션을 정의하려면 고급 페이지를 클릭합니다.Click the Advanced page to define options for this job step, such as what action SQL ServerSQL Server Agent should take if the job step succeeds or fails, how many times the job step should be attempted, and where the job step output should be written.

Transact-SQL 사용Using Transact-SQL

Analysis Services 명령 작업 단계를 만들려면To create an Analysis Services command job step

  1. 개체 탐색기에서 데이터베이스 엔진Database Engine인스턴스에 연결합니다.In Object Explorer, connect to an instance of 데이터베이스 엔진Database Engine.

  2. 표준 도구 모음에서 새 쿼리를 클릭합니다.On the Standard bar, click New Query.

  3. 다음 예를 복사하여 쿼리 창에 붙여 넣고 실행을 클릭합니다.Copy and paste the following example into the query window and click Execute.

    -- 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="http://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)을 참조하세요.For more information, see sp_add_jobstep (Transact-SQL).

Analysis Services 쿼리 작업 단계를 만들려면To create an Analysis Services query job step

  1. 개체 탐색기에서 데이터베이스 엔진Database Engine인스턴스에 연결합니다.In Object Explorer, connect to an instance of 데이터베이스 엔진Database Engine.

  2. 표준 도구 모음에서 새 쿼리를 클릭합니다.On the Standard bar, click New Query.

  3. 다음 예를 복사하여 쿼리 창에 붙여 넣고 실행을 클릭합니다.Copy and paste the following example into the query window and click Execute.

    -- 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)을 참조하세요.For more information, see sp_add_jobstep (Transact-SQL).

SQL Server 관리 개체 사용Using SQL Server Management Objects

PowerShell 스크립트 작업 단계를 만들려면To create a PowerShell Script job step

선택한 프로그래밍 언어(예: XMLA 또는 MDX)를 사용하여 JobStep 클래스를 사용합니다.Use the JobStep class by using a programming language that you choose, such as XMLA or MDX. 자세한 내용은 SMO(SQL Server 관리 개체)를 참조하세요.For more information, see SQL Server Management Objects (SMO).