XMLA(XML for Analysis)의 Batch 명령을 사용하여 단일 XMLA Execute 메서드를 사용하여 여러 XMLA 명령을 실행할 수 있습니다. 명령에 포함된 Batch 여러 명령을 단일 트랜잭션 또는 각 명령에 대한 개별 트랜잭션, 직렬 또는 병렬로 실행할 수 있습니다. 여러 Microsoft SQL Server Analysis Services 개체를 처리하기 위해 명령에서 Batch 줄 바깥쪽 바인딩 및 기타 속성을 지정할 수도 있습니다.
트랜잭션 및 비트랜잭션 일괄 처리 명령 실행
이 Batch 명령은 다음 두 가지 방법 중 하나로 명령을 실행합니다.
트랜잭션
Transaction 명령의 Batch 특성이 true Batch 로 설정된 경우 명령 실행은 명령에 포함된 Batch 모든 명령을 단일 트랜잭션-트랜잭션 일괄 처리로 명령합니다.
트랜잭션 일괄 처리에서 명령이 실패하면 Analysis Services는 명령이 실패하고 명령이 즉시 종료되기 전에 실행된 명령의 Batch 모든 Batch 명령을 롤백합니다. 아직 실행되지 않은 명령의 Batch 명령은 실행되지 않습니다. 명령이 Batch 종료 Batch 된 후 명령은 실패한 명령에 대해 발생한 오류를 보고합니다.
비트랜잭션
특성이 Transaction false Batch 로 설정된 경우 명령은 명령에 포함된 Batch 각 명령을 별도의 트랜잭션- 비트랜잭션 일괄 처리로 실행합니다. 비트랜잭션 일괄 처리 Batch 에서 명령이 실패하면 실패한 명령 이후에 명령이 계속 실행됩니다. 명령이 Batch 포함된 모든 명령을 Batch 실행하려고 하면 명령이 Batch 발생한 오류를 보고합니다.
명령에 포함된 명령에서 Batch 반환된 모든 결과는 명령이 명령에 포함된 Batch 순서와 동일한 순서로 반환됩니다. 명령에서 반환되는 Batch 결과는 명령이 Batch 트랜잭션인지 아니면 비트랜잭션인지에 따라 달라집니다.
비고
Batch 명령에 Lock 명령과 같은 출력을 반환하지 않는 명령이 포함되어 있고 해당 명령이 성공적으로 실행 Batch 되면 명령이 결과 요소 내에 빈 루트 요소를 반환합니다. 빈 root 요소는 명령에 포함된 Batch 각 명령을 해당 명령의 결과에 적합한 root 요소와 일치시킬 수 있도록 합니다.
트랜잭션 일괄 처리 결과에서 결과 반환
트랜잭션 일괄 처리 내에서 실행되는 명령의 결과는 전체 Batch 명령이 완료될 때까지 반환되지 않습니다. 트랜잭션 일괄 처리 내에서 실패하는 명령으로 인해 전체 Batch 명령과 포함된 모든 명령이 롤백되므로 각 명령이 실행된 후에 결과가 반환되지 않습니다. 모든 명령이 성공적으로 시작되고 실행되면 명령의 메서드 Batch 에서 반환된 ExecuteExecuteResponse 요소의 반환 요소에는 하나의 결과 요소가 포함되며, 이 요소에는 명령에 포함된 성공적으로 실행된 각 명령에 대해 하나의 root 요소가 포함됩니다Batch. 명령의 Batch 명령을 시작할 수 없거나 완료하지 못한 경우 메서드는 Execute 실패한 명령의 오류를 포함하는 명령에 대한 Batch SOAP 오류를 반환합니다.
비트랜잭션 일괄 처리 결과에서 결과 반환
실행되지 않는 일괄 처리 내에서 실행되는 명령의 결과는 명령 내에 Batch 포함된 순서와 각 명령에서 반환되는 순서로 반환됩니다. 명령에 포함된 Batch 명령이 성공적으로 시작되지 않으면 메서드는 Execute 명령에 대한 Batch 오류가 포함된 SOAP 오류를 반환합니다. 하나 이상의 명령이 성공적으로 시작되면 return 명령에 대한 Batch 메서드에서 반환된 Execute 요소의 ExecuteResponse 요소에 하나의 results 요소가 포함되며, 이 요소에는 명령에 포함된 각 명령에 대해 하나의 root 요소가 포함됩니다Batch. 비트랜잭션 일괄 처리에서 하나 이상의 명령을 시작할 수 없거나 완료 root 하지 못하는 경우 실패한 명령에 대한 요소에 오류를 설명하는 오류 요소가 포함됩니다.
비고
비트랜잭션 일괄 처리에서 하나 이상의 명령을 시작할 수 있는 한, 비전송 일괄 처리에 포함된 모든 명령이 명령 결과 Batch 에서 오류를 반환하더라도 실행되지 않는 일괄 처리가 성공적으로 실행된 것으로 간주됩니다.
직렬 및 병렬 실행 사용
명령을 사용하여 Batch 포함된 명령을 직렬 또는 병렬로 실행할 수 있습니다. 명령이 직렬로 실행되면 명령에서 Batch 현재 실행 중인 명령이 완료될 때까지 명령에 포함된 다음 명령을 Batch 시작할 수 없습니다. 명령이 병렬로 실행되면 명령을 통해 여러 명령을 동시에 Batch 실행할 수 있습니다.
명령을 병렬로 실행하려면 명령의 Parallel 속성 Batch 과 병렬로 실행할 명령을 추가합니다. 현재 Analysis Services는 연속적인 순차 적 프로세스 명령만 병렬로 실행할 수 있습니다. 속성에 포함된 ParallelCreate 또는 Alter와 같은 다른 XMLA 명령은 직렬로 실행됩니다.
Analysis Services는 속성에 Parallel 포함된 모든 Process 명령을 병렬로 실행하려고 하지만 포함된 Process 모든 명령을 병렬로 실행할 수 있다고 보장할 수는 없습니다. 인스턴스는 각 Process 명령을 분석하고 인스턴스가 명령을 병렬로 Process 실행할 수 없다고 판단하면 명령이 직렬로 실행됩니다.
비고
명령을 병렬 Transaction 로 실행하려면 Analysis Services가 연결당 하나의 활성 트랜잭션만 지원하고 비트랜잭션 일괄 처리는 별도의 트랜잭션에서 각 명령을 실행하므로 명령의 특성을 Batch true로 설정해야 합니다. 비트랜잭션 일괄 처리에 속성을 포함 Parallel 하면 오류가 발생합니다.
병렬 실행 제한
Analysis Services 인스턴스는 인스턴스가 실행되는 컴퓨터의 제한까지 가능한 한 많은 Process 명령을 병렬로 실행하려고 시도합니다. 속성의 특성을 Parallel 병렬로 실행할 수 있는 Process 최대 명령 수를 나타내는 값으로 설정 maxParallel 하여 동시에 실행되는 명령의 Process 수를 제한할 수 있습니다.
예를 들어 Parallel 속성은 나열된 시퀀스에 다음 명령을 포함합니다.
CreateProcessAlterProcessProcessProcessDeleteProcessProcess
이 maxParalleParallel 속성의 l 특성은 2로 설정됩니다. 따라서 인스턴스는 다음 목록에 설명된 대로 이전 명령 목록을 실행합니다.
명령 1은 명령이고 명령만
Process병렬로Create실행할 수 있으므로 명령 1은 직렬로 실행됩니다.명령 2는 명령 1이 완료된 후 직렬로 실행됩니다.
명령 3은 명령 2가 완료된 후 직렬로 실행됩니다.
명령 4와 5는 명령 3이 완료된 후 병렬로 실행됩니다. 명령 6도
Process명령이지만 명령 6은 속성이 2로 설정되므로 명령 4 및 5maxParallel와 병렬로 실행할 수 없습니다.명령 6은 명령 4와 5가 모두 완료된 후 직렬로 실행됩니다.
명령 7은 명령 6이 완료된 후 직렬로 실행됩니다.
명령 8과 9는 명령 7이 완료된 후 병렬로 실행됩니다.
Batch 명령을 사용하여 개체 처리
이 명령에는 Batch 여러 Analysis Services 프로젝트 처리를 지원하기 위해 특별히 포함된 몇 가지 선택적 속성 및 특성이 포함되어 있습니다.
명령의 특성은
ProcessAffectedObjects지정된 개체를 처리하는 명령에 포함된 명령의Process결과로 재처리가 필요한 개체도 인스턴스에서Batch처리해야 하는지 여부를Batch나타냅니다.Bindings 속성에는 명령의 모든
Process명령에서 사용하는 아웃 오브 라인 바인딩 컬렉션이Batch포함되어 있습니다.DataSource 속성에는 명령의 모든
Process명령에서 사용하는 데이터 원본에 대한 아웃 오브 라인 바인딩이Batch포함되어 있습니다.DataSourceView 속성에는 명령의 모든
Process명령에서 사용하는 데이터 원본 뷰에 대한 아웃 오브 라인 바인딩이Batch포함되어 있습니다.ErrorConfiguration 속성은 명령에 포함된 모든
Process명령에서Batch발생한 오류를 명령이Batch처리하는 방식을 지정합니다.중요합니다
Process명령에 명령이Bindings포함되어 있으면Process명령에 ,DataSource또는DataSourceViewErrorConfiguration속성을 포함Batch할 수 없습니다. 명령에 대해Process이러한 속성을 지정해야 하는 경우 명령이 포함된Process명령의 해당 속성에Batch필요한 정보를 제공합니다.
또한 참조하십시오
Batch 요소(XMLA)
Process 요소(XMLA)
다차원 모델 개체 처리
Analysis Services에서 XMLA를 사용하여 개발