Create an Analysis Services Job Step

적용 대상:SQL ServerAzure SQL Managed Instance

Important

현재 Azure SQL Managed Instance에서는 SQL Server 에이전트 기능이 대부분 지원됩니다. 자세한 내용은 Azure SQL Managed Instance와 SQL Server 간의 차이점을 참조하세요.

이 항목에서는 SQL Server Management Studio, Transact-SQL 또는 SQL Server 관리 개체를 사용하여 SQL Server에서 SQL Server Analysis Services 명령 및 쿼리를 실행하는 SQL Server 에이전트 작업 단계를 만들고 정의하는 방법에 대해 설명합니다.

시작하기 전에

제한 사항

  • 작업 단계에서 Analysis Services 명령을 사용하는 경우, 명령문은 Analysis Services Execute 메서드용 XML이어야 합니다. 전체 SOAP(Simple Object Access Protocol) Envelope 또는 XML for Analysis Discover 메서드를 포함할 수 없습니다. SQL Server Management Studio는 전체 SOAP Envelope와 Discover 메서드를 지원하지만 SQL Server 에이전트 작업 단계에서는 지원하지 않습니다. Analysis Services용 XML에 대한 자세한 내용은 Analysis Services XML 개요(XMLA)를 참조하세요.

  • 작업 단계에서 Analysis Services 쿼리를 사용하는 경우 쿼리 문은 MDX(Multidimensional Expression) 쿼리여야 합니다. MDX에 대한 자세한 내용은 MDX 문 기본 사항(MDX)을 참조하세요.

보안

사용 권한

  • Analysis Services 하위 시스템을 사용하는 작업 단계를 실행하려면 사용자가 sysadmin 고정 서버 역할의 멤버이거나 이 하위 시스템을 사용하도록 정의된 유효한 프록시 계정에 액세스할 수 있어야 합니다. 또한 SQL Server 에이전트 서비스 계정이나 프록시가 Analysis Services 관리자이고 올바른 Windows 도메인 계정이어야 합니다.

  • sysadmin 고정 서버 역할의 멤버만 작업 단계 출력을 파일에 쓸 수 있습니다. 작업 단계가 msdb 데이터베이스에서 SQLAgentUserRole 데이터베이스 역할의 멤버인 사용자가 실행하는 경우 출력은 테이블에만 쓸 수 있습니다. SQL Server 에이전트에서 msdb 데이터베이스의 sysjobstepslog 테이블에 작업 단계 출력을 씁니다.

  • 자세한 내용은 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 Agent 서비스 계정을 선택하여 이 작업 단계를 실행할 수도 있습니다.

  7. 작업 단계가 실행될 서버를 선택하거나 서버 이름을 입력합니다.

  8. 명령 상자에 실행할 문을 입력하거나 열기를 클릭하여 문을 선택합니다.

  9. 작업 단계가 성공하거나 실패할 경우 SQL Server 에이전트가 수행할 동작으로 작업 단계를 시도할 횟수 및 작업 단계 출력이 쓸 위치와 같은 작업 단계에 대한 옵션을 정의하려면 고급 페이지를 클릭합니다.

Analysis Services 쿼리 작업 단계를 만들려면

  1. 개체 탐색기에서 SQL Server 데이터베이스 엔진의 인스턴스에 연결하고 해당 인스턴스를 확장합니다.

  2. SQL Server 에이전트를 확장하고 새 작업을 만들거나 기존 작업을 마우스 오른쪽 단추로 클릭한 다음 속성을 클릭합니다. 작업 만들기에 대한 자세한 내용은 작업 만들기를 참조하세요.

  3. 작업 속성 대화 상자에서 단계 페이지를 클릭한 다음 새로 만들기를 클릭합니다.

  4. 새 작업 단계 대화 상자에서 작업 단계 이름을 입력합니다.

  5. 유형 목록에서 SQL Server Analysis Services 쿼리를 클릭합니다.

  6. 다음 계정으로 실행 목록에서 Analysis Services 쿼리 하위 시스템을 사용하도록 정의된 프록시를 선택합니다. sysadmin 고정 서버 역할의 멤버인 사용자는 SQL Agent 서비스 계정을 선택하여 이 작업 단계를 실행할 수도 있습니다.

  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 스크립트 작업 단계를 만들려면

XMLA 또는 MDX와 같이 선택한 프로그래밍 언어를 사용하여 JobStep 클래스를 사용합니다. 자세한 내용은 SQL Server 관리 개체(SMO)를 참조하세요.