-1

서버 수준에서 SSIS 패키지의 병렬 실행을 사용하지 않도록 설정하거나 제한하는 방법이 있다면 누구든지 조언 할 수 있습니까?서버 수준에서 SSIS 패키지의 병렬 실행 사용 안 함

여러 데이터 소스에서 가져온 패키지가 많은 SSIS 프로젝트가 있습니다. 제 개발 환경과 프로덕션 환경은 모든 패키지를 한 번에 실행하고 완료까지 실행할 수있는 충분한 하드웨어 사양으로 잘 작동합니다. 그러나 테스트 서버의 사양은 매우 낮아 모든 패키지를 실행하면 CPU가 최대로되고 일부 패키지가 예기치 않게 종료됩니다.

업데이트 :

시나리오에 대한 좀 더 자세한 사항. 데이터웨어 하우스를 개발 중이며 현재 준비 단계를 구축 중입니다. 50 개 이상의 테이블 (및 성장) 및 50 개 이상의 dtsx 패키지가 있으며 각 패키지에는 단일 테이블이 채워져 있습니다. 데이터 소스에는 여러 로컬 서버에서 MSSQL, MySQL, 텍스트 파일 및 MDB가 포함됩니다.

패키지는 VS2015 프로젝트에서 SQL 서버로 배포되며 모든 패키지는 스크립트를 통해 동시에 실행되도록 대기합니다. 패키지를 대기열에 넣은 후 SQL Server는 CPU를 100 % 지속시켜 데이터 소스에 대한 연결 시간 초과 및 예기치 않은 패키지 종료를 유발합니다.

테스트 서버에 하드웨어를 추가하는 것은 옵션이 아니며 더 적은 수의 패키지로 작업을 결합하여 패키지 수준 최대 동시성을 활용할 수도 없습니다.

SQL 서버가 서버 수준에서 병렬로 실행하려고 시도하는 패키지 수를 제한하려고합니다. SQL Server의 최대 병렬 처리 수준을 0에서 1로 수정하면 문제가 해결 된 것으로 보입니다.

+1

당신의 ssis packag에 maxConcurrentExecutables를 설정할 수 있습니다. 그러면 원하는만큼의 작업 만 수행 할 수 있습니다. 하나의 파일에서 10 개의 패키지를 실행한다고 가정 해 보겠습니다. 그런 다음 maxConcurrentExecutables를 4로 설정할 수 있습니다. 그런 다음 4시에만 실행됩니다. 또는 하나의 패키지에서 많은 DFT를 실행중인 경우 – plaidDK

+0

그건 두렵습니다. MaxConcurrentExecutables는 패키지 내의 실행 가능 개체 수를 제한합니다. 서버 수준에서 병렬로 실행되는 패키지를 제한하려고합니다. – Maff

+0

하지만 당신이 그걸 어떻게 디자인했는지 당신의 아키텍처에 달려 있습니다. SQL 작업 에이전트는 가지고있는 패키지 만 실행합니다. 그 (것)들을 위로 나누 거든, 그 (것)들을 주된 포장에있게하십시오. – plaidDK

답변

-1

SQL 서버의 최대 병렬 처리 수준 설정으로 문제를 해결 한 것으로 보입니다.

+1

이렇게하면 SQL Server가 수행하는 다른 모든 작업이 SSIS뿐 아니라 MAX DOP를 설정 한 것으로 제한됩니다. 현재 한 가지 문제를 해결하고 동시에 여러 가지 문제를 만들 수 있습니다. –

+0

Chris에게 감사드립니다. 다행히도 대상 서버는이 프로세스에만 사용되고 있습니다. – Maff

+0

그러나 이것은 SQL Server 실행 계획에만 해당되며 더 많은 자원을 필요로합니다. 이것은 절대적으로 당신의 질문을 해결하지 못할 것입니다. 그것은 서버의 성능을 조정할 수 있지만 귀하의 paraelleism을 다운 그레이드하지 않을 수도 있습니다. – plaidDK