서버 수준에서 SSIS 패키지의 병렬 실행을 사용하지 않도록 설정하거나 제한하는 방법이 있다면 누구든지 조언 할 수 있습니까?서버 수준에서 SSIS 패키지의 병렬 실행 사용 안 함
여러 데이터 소스에서 가져온 패키지가 많은 SSIS 프로젝트가 있습니다. 제 개발 환경과 프로덕션 환경은 모든 패키지를 한 번에 실행하고 완료까지 실행할 수있는 충분한 하드웨어 사양으로 잘 작동합니다. 그러나 테스트 서버의 사양은 매우 낮아 모든 패키지를 실행하면 CPU가 최대로되고 일부 패키지가 예기치 않게 종료됩니다.
업데이트 :
시나리오에 대한 좀 더 자세한 사항. 데이터웨어 하우스를 개발 중이며 현재 준비 단계를 구축 중입니다. 50 개 이상의 테이블 (및 성장) 및 50 개 이상의 dtsx 패키지가 있으며 각 패키지에는 단일 테이블이 채워져 있습니다. 데이터 소스에는 여러 로컬 서버에서 MSSQL, MySQL, 텍스트 파일 및 MDB가 포함됩니다.
패키지는 VS2015 프로젝트에서 SQL 서버로 배포되며 모든 패키지는 스크립트를 통해 동시에 실행되도록 대기합니다. 패키지를 대기열에 넣은 후 SQL Server는 CPU를 100 % 지속시켜 데이터 소스에 대한 연결 시간 초과 및 예기치 않은 패키지 종료를 유발합니다.
테스트 서버에 하드웨어를 추가하는 것은 옵션이 아니며 더 적은 수의 패키지로 작업을 결합하여 패키지 수준 최대 동시성을 활용할 수도 없습니다.
SQL 서버가 서버 수준에서 병렬로 실행하려고 시도하는 패키지 수를 제한하려고합니다. SQL Server의 최대 병렬 처리 수준을 0에서 1로 수정하면 문제가 해결 된 것으로 보입니다.
당신의 ssis packag에 maxConcurrentExecutables를 설정할 수 있습니다. 그러면 원하는만큼의 작업 만 수행 할 수 있습니다. 하나의 파일에서 10 개의 패키지를 실행한다고 가정 해 보겠습니다. 그런 다음 maxConcurrentExecutables를 4로 설정할 수 있습니다. 그런 다음 4시에만 실행됩니다. 또는 하나의 패키지에서 많은 DFT를 실행중인 경우 – plaidDK
그건 두렵습니다. MaxConcurrentExecutables는 패키지 내의 실행 가능 개체 수를 제한합니다. 서버 수준에서 병렬로 실행되는 패키지를 제한하려고합니다. – Maff
하지만 당신이 그걸 어떻게 디자인했는지 당신의 아키텍처에 달려 있습니다. SQL 작업 에이전트는 가지고있는 패키지 만 실행합니다. 그 (것)들을 위로 나누 거든, 그 (것)들을 주된 포장에있게하십시오. – plaidDK