일괄 작업 수행(XMLA)Performing Batch Operations (XMLA)

적용 대상:예SQL Server Analysis Services아니요Azure Analysis ServicesAPPLIES TO:yesSQL Server Analysis ServicesnoAzure Analysis Services사용할 수는 일괄 처리 XML for Analysis (XMLA) 단일 XMLA를 사용 하는 여러 XMLA 명령을 실행 하려면 명령을 Execute 메서드. You can use the Batch command in XML for Analysis (XMLA) to run multiple XMLA commands using a single XMLA Execute method. 에 포함 된 여러 명령을 실행할 수 있습니다는 일괄 처리 명령을 단일 트랜잭션으로 또는 각 명령에 대 한 개별 트랜잭션을, 차례 대로 또는 병렬로 합니다.You can run multiple commands contained in the Batch command either as a single transaction or in individual transactions for each command, in serial or in parallel. 아웃오브 라인 바인딩 및 기타 속성을 지정할 수도 있습니다는 일괄 처리 여러 처리 명령을 MicrosoftMicrosoft SQL ServerSQL Server Analysis ServicesAnalysis Services 개체입니다.You can also specify out-of-line bindings and other properties in the Batch command for processing multiple MicrosoftMicrosoft SQL ServerSQL Server Analysis ServicesAnalysis Services objects.

트랜잭션 및 비트랜잭션 Batch 명령Running Transactional and Nontransactional Batch Commands

일괄 처리 명령은 다음 두 가지 방법 중 하나에서 명령을 실행 합니다.The Batch command executes commands in one of two ways:

트랜잭션Transactional
경우는 트랜잭션 특성에는 일괄 처리 명령을 설정 되어 true로는 일괄 처리 명령 실행 명령에 포함 된 명령을 모두는 일괄처리 단일 트랜잭션 내에서 명령을-는 트랜잭션 일괄 처리 합니다.If the Transaction attribute of the Batch command is set to true, the Batch command run commands all of the commands contained by the Batch command in a single transaction—a transactional batch.

트랜잭션 일괄 처리에서 실패 한 명령이 있으면 Analysis ServicesAnalysis Services 모든 명령을 롤백한는 일괄 처리 실패 한 명령 이전에 실행 된 명령 및 일괄 처리 명령을 즉시 종료 합니다.If any command fails in a transactional batch, Analysis ServicesAnalysis Services rolls back any command in the Batch command that ran before the command that failed and the Batch command immediately ends. 모든 명령에는 일괄 처리 아직 실행 하지 않은 명령이 실행 되지 않습니다.Any commands in the Batch command that have not yet run are not executed. 후의 일괄 처리 명령이 종료 된 일괄 처리 명령이 실패 한 명령에 대해 발생 한 오류를 보고 합니다.After the Batch command ends, the Batch command reports any errors that occurred for the failed command.

비트랜잭션Nontransactional
경우는 트랜잭션 특성이 false로 설정 되어는 일괄 처리 명령을 실행 하 여 포함 된 각 명령을 일괄 처리 별도 트랜잭션에서 명령을-는 비트랜잭션 일괄 처리 합니다.If the Transaction attribute is set to false, the Batch command runs each command contained by the Batch command in a separate transaction—a nontransactional batch. 비트랜잭션 일괄 처리에서 실패 한 명령이 있으면는 일괄 처리 명령은 계속 실패 한 명령 이후의 명령을 실행 합니다.If any command fails in a nontransactional batch, the Batch command continues to run commands after the command which failed. 후는 일괄 처리 명령이 모든 명령을 실행 하려고 하는 일괄 처리 명령에는 일괄 처리 명령이 발생 한 오류를 보고 합니다.After the Batch command tries to run all the commands that the Batch command contains, the Batch command reports any errors that occurred.

에 포함 된 명령을 사용 하 여 반환 된 모든 결과 일괄 처리 명령에 포함 된 명령의 순서 대로 반환 되는 일괄 처리 명령입니다.All results returned by commands contained in a Batch command are returned in the same order in which the commands are contained in the Batch command. 반환 된 결과 일괄 처리 명령 인지 여부에 따라 달라 집니다는 일괄 처리 트랜잭션인지 또는 비트랜잭션 명령입니다.The results returned by a Batch command vary based on whether the Batch command is transactional or nontransactional.

참고

경우는 일괄 처리 명령와 같은 출력을 반환 하지 않는 명령이 포함 되어는 잠금 명령 및 있는지 명령이 성공적으로 실행 되는 일괄 처리 명령은 빈을 반환 합니다. 루트 결과 요소 내에서 요소입니다.If a Batch command contains a command that does not return output, such as the Lock command, and that command successfully runs, the Batch command returns an empty root element within the results element. 루트 요소 각 명령이에 포함 된 한 일괄 처리 명령은 일치 하는 적절 한 루트 해당 명령의 결과 대 한 요소입니다.The empty root element ensures that each command contained in a Batch command can be matched with the appropriate root element for that command's results.

트랜잭션 일괄 처리 결과에서 결과 반환Returning Results from Transactional Batch Results

전체 트랜잭션 일괄 처리 내에서 실행 된 명령의 결과 반환 되지 않습니다 일괄 처리 명령이 완료 되어야 합니다.Results from commands run within a transactional batch are not returned until the entire Batch command is completed. 트랜잭션 일괄 처리 중 실패 이유는 명령이 전체 때문에 각 명령을 실행 한 후 결과 반환 하지는 일괄 처리 명령 및 포함 하는 모든 명령이 롤백됩니다.The results are not returned after each command runs because any command that fails within a transactional batch would cause the entire Batch command and all containing commands to be rolled back. 모든 명령을 시작 하 고 성공적으로 실행 하는 경우는 반환 의 요소는 ExecuteResponse 요소에서 반환 되는 Execute 에 대 한 메서드는 일괄 처리 하나가 포함 된 명령 결과 요소 하나를 포함 하는 요소를 루트 에 포함 된 각 성공적으로 실행된 명령에 대 한 요소는 일괄처리 명령입니다.If all commands start and run successfully, the return element of the ExecuteResponse element returned by the Execute method for the Batch command contains one results element, which in turn contains one root element for each successfully run command contained in the Batch command. 명령에 경우는 일괄 처리 명령을 시작할 수 없거나 완료 하지 못한는 Execute 에 대 한 SOAP 오류를 반환 하는 메서드는 일괄 처리 의 오류를 포함 하는 명령에서 실패 한 명령입니다.If any command in the Batch command cannot be started or fails to complete, the Execute method returns a SOAP fault for the Batch command that contains the error of the command that failed.

비트랜잭션 일괄 처리 결과에서 결과 반환Returning Results from Nontransactional Batch Results

비트랜잭션 일과 처리 내에서 실행 된 명령의 결과에 포함 된 명령의 순서 대로 반환 됩니다는 일괄 처리 명령 각 명령에 의해 반환 되 고 있습니다.Results from commands run within a nontransactional batch are returned in the order in which the commands are contained within the Batch command and as they are returned by each command. 경우에 포함 된 명령이 없습니다.는 일괄 처리 명령을 하나도 시작할 수 있습니다는 Execute 에 대 한 오류가 포함 된 SOAP 오류를 반환 하는 메서드는 일괄 처리 명령입니다.If no command contained in the Batch command can be successfully started, the Execute method returns a SOAP fault that contains an error for the Batch command. 하나 이상의 명령이 성공적으로 시작 되는 경우는 반환 의 요소는 ExecuteResponse 요소에서 반환 되는 Execute 에 대 한 메서드는 일괄 처리 하나가 포함 된 명령 결과 요소 하나를 포함 하는 요소를 루트 에 포함 된 각 명령에 대 한 요소는 일괄 처리 명령 .If at least one command is successfully started, the return element of the ExecuteResponse element returned by the Execute method for the Batch command contains one results element, which in turn contains one root element for each command contained in the Batch command. 비트랜잭션 일괄 처리에서 하나 이상의 명령을 시작할 수 없거나 완료 하지 못한 경우는 루트 실패 한 명령에 대 한 요소를 포함 한 오류 오류를 설명 하는 요소입니다.If one or more commands in a nontransactional batch cannot be started or fails to complete, the root element for that failed command contains an error element describing the error.

참고

비트랜잭션 일괄 처리에 포함 된 모든 명령의 결과에 오류를 반환 하는 경우에 비트랜잭션 일괄 처리는 성공적으로 실행으로 간주 됩니다 시작할 수 있는 비트랜잭션 일괄 처리에서 적어도 하나의 명령으로는 일괄 처리 명령입니다.As long as at least one command in a nontransactional batch can be started, the nontransactional batch is considered to have successfully run, even if every command contained in the nontransactional batch returns an error in the results of the Batch command.

순차 및 병렬 실행 사용Using Serial and Parallel Execution

사용할 수는 일괄 처리 실행할 포함 된 명령을 순차적으로 또는 병렬로 명령입니다.You can use the Batch command to run included commands in serial or in parallel. 다음 명령에 포함 된 명령을 순차적으로 실행 되는 경우는 일괄 처리 명령에서 현재 실행 중인 명령을 시작할 수는 일괄 처리 명령이 완료 되어야 합니다.When the commands are run in serial, the next command included in the Batch command cannot start until the currently running command in the Batch command is completed. 명령을 병렬로 실행 될 때 여러 명령을 동시에 실행할 수는 일괄 처리 명령입니다.When the commands are run in parallel, multiple commands can be executed simultaneously by the Batch command.

동시에 실행 될 명령을 추가한 명령을 병렬로 실행 하는 병렬 속성의는 일괄 처리 명령입니다.To run commands in parallel, you add the commands to be run in parallel to the Parallel property of the Batch command. 현재 Analysis ServicesAnalysis Services 에서는 순차적인 연속만 실행할 수 프로세스 명령만 병렬로 합니다.Currently, Analysis ServicesAnalysis Services can run only contiguous, sequential Process commands in parallel. 와 같은 다른 모든 XMLA 명령은 만들기 또는 Alter에 포함 된는 병렬 속성 순차적으로 실행 됩니다.Any other XMLA command, such as Create or Alter, included in the Parallel property is run serially.

Analysis ServicesAnalysis Services모두 실행 하려고 프로세스 에 포함 된 명령만 병렬 병렬로 속성 않을 수도 있는 포함 된 모든 있지만 프로세스 명령을 병렬로 실행 될 수 있습니다. tries to run all Process commands included in the Parallel property in parallel, but cannot guarantee that all included Process commands can be run in parallel. 인스턴스를 각각 분석 프로세스 명령 인스턴스에서 명령을 병렬로 실행할 수 없습니다 결정 하는 경우는 프로세스 명령을 직렬으로 실행 됩니다.The instance analyzes each Process command and, if the instance determines that the command cannot be run in parallel, the Process command is run in serial.

참고

명령을 병렬로 실행 하는 트랜잭션 특성에는 일괄 처리 명령은 때문에 true로 설정 되어야 합니다 Analysis ServicesAnalysis Services 연결 및 비트랜잭션 당 하나의 활성 트랜잭션만 지원 각 명령을 별도의 트랜잭션에서 실행 일괄 처리입니다.To run commands in parallel, the Transaction attribute of the Batch command must be set to true because Analysis ServicesAnalysis Services supports only one active transaction per connection and nontransactional batches run each command in a separate transaction. 포함 하는 경우는 병렬 비트랜잭션 일괄 처리에서 속성, 오류가 발생 합니다.If you include the Parallel property in a nontransactional batch, an error occurs.

병렬 실행 제한Limiting Parallel Execution

Analysis ServicesAnalysis Services 인스턴스 만큼를 실행 하 려 프로세스 인스턴스가 실행 되는 컴퓨터의 제한까지 가능한 동시에 명령 합니다.An Analysis ServicesAnalysis Services instance tries to run as many Process commands in parallel as possible, up to the limits of the computer on which the instance runs. 동시 실행 수를 제한할 수 프로세스 설정 하 여 명령을 maxParallel 특성에는 병렬 속성을 나타내는 값의 최대 개수 프로세스 병렬로 실행할 수 있는 명령입니다.You can limit the number of concurrently executing Process commands by setting the maxParallel attribute of the Parallel property to a value indicating the maximum number of Process commands that can be run in parallel.

예를 들어 한 병렬 속성에 나열 된 시퀀스에서 다음 명령을 포함 합니다.For example, a Parallel property contains the following commands in the sequence listed:

  1. 만들기Create

  2. 처리Process

  3. AlterAlter

  4. 처리Process

  5. 처리Process

  6. 처리Process

  7. DeleteDelete

  8. 처리Process

  9. 처리Process

    maxParallel 특성의 병렬 속성이 2로 설정 되어 있습니다.The maxParallel attribute of this Parallel property is set to 2. 따라서 인스턴스는 이전 명령 목록을 다음 목록에 설명된 대로 실행합니다.Therefore, the instance runs the previous lists of commands as described in the following list:

  • 명령 1이 있으므로 명령 1이 순차적으로 실행 한 만들기 명령이 고 유일한 프로세스 명령을 병렬로 실행 될 수 있습니다.Command 1 runs serially because command 1 is a Create command and only Process commands can be run in parallel.

  • 명령 1이 완료 된 후 명령 2 순차적으로 실행 합니다.Command 2 runs serially after command 1 is completed.

  • 2 명령이 완료 된 후 명령 3 순차적으로 실행 합니다.Command 3 runs serially after command 2 is completed.

  • 명령 4 및 5 3 명령을 완료 한 후 동시에 실행 합니다.Commands 4 and 5 run in parallel after command 3 is completed. 명령 6도 있지만 프로세스 명령, 명령 6은 때문에 명령 4 및 5와 병렬로 실행할 수 없습니다는 maxParallel 속성이 2로 설정 되어 있습니다.Although command 6 is also a Process command, command 6 cannot run in parallel with commands 4 and 5 because the maxParallel property is set to 2.

  • 명령 4 및 5가 완료된 후 명령 6이 순차적으로 실행됩니다.Command 6 runs serially after both commands 4 and 5 are completed.

  • 명령 6이 완료된 후 명령 7이 순차적으로 실행됩니다.Command 7 runs serially after command 6 is completed.

  • 명령 7이 완료된 후 명령 8 및 9가 병렬로 실행됩니다.Commands 8 and 9 run in parallel after command 7 is completed.

Batch 명령을 사용하여 개체 처리Using the Batch Command to Process Objects

일괄 처리 명령에는 여러 가지 선택적 속성 및 지원 하기 위해 특별히 포함 된 특성이 포함 된 다중 처리 Analysis ServicesAnalysis Services 프로젝트:The Batch command contains several optional properties and attributes specifically included to support processing multiple Analysis ServicesAnalysis Services projects:

  • ProcessAffectedObjects 특성에는 일괄 처리 명령은 인스턴스 또한의 결과로 다시 처리 해야 하는 개체를 처리 해야 하는지 여부를 나타냅니다.는 프로세스 명령에 포함 된는 일괄 처리 명령 지정된 된 개체를 처리 합니다.The ProcessAffectedObjects attribute of the Batch command indicates whether the instance should also process any object that requires reprocessing as a result of a Process command included in the Batch command processing a specified object.

  • 바인딩 속성 모두에서 사용 하는 아웃오브 라인 바인딩의 컬렉션이 포함는 프로세스 의 명령은 일괄 처리 명령입니다.The Bindings property contains a collection of out-of-line bindings used by all of the Process commands in the Batch command.

  • DataSource 속성의 모든 사용 되는 데이터 원본에 대 한는 아웃오브 라인 바인딩이 포함는 프로세스 의 명령은 일괄 처리 명령입니다.The DataSource property contains an out-of-line binding for a data source used by all of the Process commands in the Batch command.

  • DataSourceView 속성 모두에서 사용 하는 데이터 원본 뷰는 아웃오브 라인 바인딩이 포함 되어는 프로세스 의 명령은 일괄 처리 명령입니다.The DataSourceView property contains an out-of-line binding for a data source view used by all of the Process commands in the Batch command.

  • ErrorConfiguration 속성은 방법을 지정 하는 일괄 처리 모두에서 발생 한 오류를 처리 하는 명령 프로세스 는 에포함된명령을일괄 처리 명령입니다.The ErrorConfiguration property specifies the way in which the Batch command handles errors encountered by all Process commands contained in the Batch command.

    중요

    A 프로세스 명령을 포함할 수 없습니다는 바인딩, DataSource, DataSourceView, 또는 ErrorConfiguration 속성을 하는 경우는 프로세스 명령에 포함 된 한 일괄 처리 명령입니다.A Process command cannot include the Bindings, DataSource, DataSourceView, or ErrorConfiguration properties, if the Process command is contained in a Batch command. 에 대 한 이러한 속성을 지정 해야 하는 경우는 프로세스 명령에서의 해당 속성에 필요한 정보를 제공 된 일괄 처리 명령을 포함 하는 프로세스 명령입니다.If you must specify these properties for a Process command, provide the necessary information in the corresponding properties of the Batch command that contains the Process command.

관련 항목:See Also

일괄 처리 요소 ( XMLA ) Batch Element (XMLA)
Process 요소 ( XMLA ) Process Element (XMLA)
다차원 모델 처리(Analysis Services) Processing a multidimensional model (Analysis Services)
Analysis Services에서 XMLA를 사용하여 개발Developing with XMLA in Analysis Services