패키지 실행 태스크
패키지 실행 태스크는 패키지가 다른 패키지를 워크플로의 일부로 실행할 수 있도록 Integration Services의 엔터프라이즈 기능을 확장했습니다.
패키지 실행 태스크는 다음 용도로 사용할 수 있습니다.
복잡한 패키지 워크플로 분석. 이 태스크를 사용하면 워크플로를 여러 패키지로 분리하여 편리하게 읽고 테스트 및 유지 관리할 수 있습니다. 예를 들어 별모양 스키마에 데이터를 로드할 경우 별도의 패키지를 작성하여 각 차원 및 팩트 테이블을 채울 수 있습니다.
패키지 일부 다시 사용. 다른 패키지에서 패키지 워크플로의 일부를 다시 사용할 수 있습니다. 예를 들어 다른 패키지에서 호출할 수 있는 데이터 추출 모듈을 작성할 수 있습니다. 추출 모듈을 호출하는 각 패키지는 다른 데이터 스크러빙, 필터링 또는 집계 작업을 수행할 수 있습니다.
작업 단위 그룹화. 작업 단위는 별개의 패키지로 캡슐화되고 트랜잭션 구성 요소로 부모 패키지의 워크플로에 조인됩니다. 예를 들어 부모 패키지는 보조 패키지를 실행하고 보조 패키지의 성공 또는 실패에 따라 트랜잭션을 커밋하거나 롤백합니다.
패키지 보안 제어. 패키지 작성자에게는 다중 패키지 솔루션의 일부에 대한 액세스 권한만 있으면 됩니다. 하나의 패키지를 여러 패키지로 분리하여 해당 패키지에만 작성자 액세스 권한을 부여할 수 있으므로 보안이 한층 강화됩니다.
다른 패키지를 실행하는 패키지를 일반적으로 부모 패키지라고 하고 부모 워크플로에서 실행하는 패키지를 자식 패키지라고 합니다.
패키지 실행 태스크는 SQL Servermsdb 데이터베이스에 저장된 패키지와 파일 시스템에 저장된 패키지를 실행할 수 있습니다. 이 태스크는 OLE DB 연결 관리자를 사용하여 SQL Server에 연결하고 파일 연결 관리자를 사용하여 파일 시스템에 액세스합니다. 자세한 내용은 OLE DB 연결 관리자 및 플랫 파일 연결 관리자를 참조하십시오.
패키지 실행 태스크는 동일한 Integration Services 솔루션의 SSIS 패키지와 데이터베이스 유지 관리 계획을 모두 관리할 수 있는 데이터베이스 유지 관리 계획을 실행할 수도 있습니다. 데이터베이스 유지 관리 계획은 SSIS 패키지와 유사하지만 데이터베이스 유지 관리 태스크만 포함할 수 있으며 항상 msdb에 저장됩니다. 자세한 내용은 데이터베이스 유지 관리(데이터베이스 엔진) 및 유지 관리 태스크를 참조하십시오.
파일 시스템에 저장된 패키지를 선택할 경우 패키지의 이름과 위치를 제공해야 합니다. 패키지 위치는 파일 시스템 어디나 가능하며 부모 패키지와 동일한 폴더에 있지 않아도 됩니다.
자식 패키지는 부모 패키지 프로세스에서 실행되거나 자체 프로세스에서 실행될 수 있습니다. 자식 패키지를 자체 프로세스에서 실행하려면 추가 메모리가 필요하지만 이런 방식으로 실행하면 유연성이 향상됩니다. 예를 들어 자식 프로세스가 실패할 경우 부모 프로세스에서 계속 실행할 수 있습니다.
또는 한 단위의 부모 패키지와 해당 자식 패키지가 함께 실행되지 못하게 하거나 다른 프로세스의 추가 오버헤드를 발생시키지 않으려는 경우도 있습니다. 예를 들어 패키지 부모 프로세스의 후속 처리가 자식 프로세스의 성공 여부에 따라 달라지는 경우 자식 프로세스가 실패하면 부모 패키지 프로세스에서 자식 패키지를 실행해야 합니다.
기본적으로 패키지 실행 태스크의 ExecuteOutOfProcess 속성은 False로 설정되고 자식 패키지는 부모 패키지와 같은 프로세스에서 실행됩니다. 이 속성을 True로 설정하면 제한된 기능이 있는 패키지만 디버깅할 수 있습니다. SQL Server 버전에서 지원하는 패키지를 모두 디버깅하려면 Integration Services를 설치해야 합니다.
트랜잭션 확장
부모 패키지가 사용하는 트랜잭션은 자식 패키지로 확장될 수 있으므로 두 패키지가 수행한 작업을 모두 커밋하거나 롤백할 수 있습니다. 예를 들어 자식 패키지가 수행한 데이터베이스 삽입에 따라 부모 패키지가 수행한 데이터베이스 삽입을 커밋하거나 롤백할 수 있고 그 반대의 경우도 마찬가지로 적용됩니다. 자세한 내용은 상속된 트랜잭션을 참조하십시오.
로깅 세부 정보 전달
패키지 실행 태스크에서 실행하는 자식 패키지가 로깅을 사용하도록 구성될 수도 있고 그렇지 않을 수도 있지만 자식 패키지는 항상 로그 세부 정보를 부모 패키지로 전달합니다. 로깅을 사용하도록 패키지 실행 태스크를 구성하면 자식 패키지에서 전달된 로그 세부 정보가 기록됩니다. 자세한 내용은 패키지에서 로깅 구현을 참조하십시오.
자식 패키지에 값 전달
자식 패키지는 자신을 호출한 다른 패키지, 일반적으로 부모 패키지에서 전달된 값을 사용하는 경우가 많습니다. 부모 패키지에서 전달된 값을 사용할 경우 다음과 같은 시나리오에서 도움이 됩니다.
큰 워크플로의 각 부분이 서로 다른 패키지에 할당됩니다. 예를 들어 한 패키지에서는 매일 데이터를 다운로드하고, 데이터를 요약하고, 요약 데이터 값을 변수에 할당하고, 데이터 추가 처리를 위해 다른 패키지로 값을 전달합니다.
부모 패키지가 자식 패키지의 태스크를 동적으로 조정합니다. 예를 들어 부모 패키지가 현재 달의 일 수를 확인하고 이 수를 변수에 할당하면 자식 패키지가 해당 횟수만큼 태스크를 수행합니다.
자식 패키지가 부모 패키지에서 동적으로 파생된 데이터에 액세스해야 합니다. 예를 들어 부모 패키지가 테이블에서 데이터를 추출하고 행 집합을 변수에 로드하면 자식 패키지가 해당 데이터에 추가 작업을 수행합니다.
패키지 구성을 사용하여 부모 패키지의 값을 자식 패키지에서 사용 가능하게 만들 수 있습니다. Integration Services는 부모 패키지의 값을 자식 패키지에 전달하기 위해 구성 유형 중 하나인 부모 패키지 변수 구성을 제공합니다. 이 구성은 자식 패키지에서 작성되며 부모 패키지의 변수를 사용합니다.
부모 패키지 변수는 패키지 실행 태스크 범위나 패키지 등의 부모 컨테이너에서 정의할 수 있습니다. 동일한 이름을 가진 변수가 여러 개이면 패키지 실행 태스크 범위에서 정의된 변수나 범위에서 해당 태스크에 가장 가까운 변수가 사용됩니다. 이 구성은 자식 패키지의 변수나 자식 패키지의 개체 속성에 매핑됩니다. ActiveX 스크립트 태스크, 스크립트 태스크 또는 스크립트 구성 요소가 사용하는 스크립트에서 이 변수를 사용할 수도 있습니다.
자세한 내용은 방법: 자식 패키지에서 부모 변수의 값 사용을 참조하십시오.
기타 관련 태스크
Integration Services에는 SQL Server 2000 패키지, 실행 파일 및 배치 파일 실행과 같은 워크플로 작업을 수행하는 태스크가 포함되어 있습니다.
이러한 태스크에 대한 자세한 내용을 보려면 다음 항목 중 하나를 클릭하십시오.
패키지 실행 태스크 구성
SSIS 디자이너를 사용하거나 프로그래밍 방식으로 속성을 설정할 수 있습니다.
SSIS 디자이너에서 설정할 수 있는 속성에 대한 자세한 내용을 보려면 다음 항목 중 하나를 클릭하십시오.
SSIS 디자이너에서 이러한 속성을 설정하는 방법을 보려면 다음 항목을 클릭하십시오.
프로그래밍 방식으로 패키지 실행 태스크 구성
이러한 속성을 프로그래밍 방식으로 설정하는 방법을 보려면 다음 항목을 클릭하십시오.
|