Integration Services(SSIS) 이벤트 처리기
적용 대상: Azure Data Factory의 SQL Server SSIS Integration Runtime
런타임에 실행 파일(패키지 및 Foreach 루프, For 루프, 시퀀스 및 작업 호스트 컨테이너)이 이벤트를 발생시킵니다. 예를 들어 오류가 발생할 때 OnError 이벤트가 발생합니다. 이러한 이벤트에 대한 사용자 지정 이벤트 처리기를 만들어 패키지 기능을 확장하고 런타임에 패키지를 더 쉽게 관리할 수 있습니다. 이벤트 처리기는 다음과 같은 작업을 수행합니다.
패키지 또는 작업 실행이 완료되면 임시 데이터 스토리지를 정리합니다.
패키지 실행 전에 리소스 사용 가능 여부를 확인하기 위해 시스템 정보를 검색합니다.
참조 테이블에서 조회가 실패하는 경우 테이블의 데이터를 새로 고칩니다.
오류 또는 경고가 발생하거나 작업이 실패할 때 전자 메일 메시지를 보냅니다.
이벤트에 이벤트 처리기가 없는 경우 해당 이벤트는 패키지의 컨테이너 계층 구조에서 상위 컨테이너로 전달됩니다. 이 컨테이너에 이벤트 처리기가 있는 경우 이벤트 처리기는 이벤트에 대한 응답으로 실행됩니다. 그렇지 않은 경우 해당 이벤트는 패키지의 컨테이너 계층 구조에서 상위 컨테이너로 전달됩니다.
다음 다이어그램은 하나의 SQL 실행 태스크가 포함된 For 루프 컨테이너가 들어 있는 간단한 패키지를 보여 줍니다.
패키지에만 OnError 이벤트에 대한 이벤트 처리기가 있습니다. SQL 실행 태스크를 실행할 때 오류가 발생하면 패키지의 OnError 이벤트 처리기가 실행됩니다. 다음 다이어그램은 패키지에 대한 OnError 이벤트 처리기가 실행되도록 하는 호출 시퀀스를 보여줍니다.
이벤트 처리기는 이벤트 처리기 컬렉션의 멤버이며 모든 컨테이너에는 이 컬렉션이 포함됩니다. SSIS 디자이너를 사용하여 패키지를 만드는 경우 SSIS 디자이너의 패키지 탐색기 탭에 있는 이벤트 처리기 폴더에서 이벤트 처리기 컬렉션의 멤버를 볼 수 있습니다.
다음과 같은 방법으로 이벤트 처리기 컨테이너를 구성할 수 있습니다.
이벤트 처리기에 대한 이름 및 설명을 지정합니다.
이벤트 처리기가 실행되는지 여부, 이벤트 처리기가 실패할 경우 패키지가 실패하는지 여부 및 이벤트 처리기가 실패하기 전에 발생할 수 있는 오류의 수를 나타냅니다.
이벤트 처리기가 런타임에 반환하는 실제 실행 결과 대신 반환할 실행 결과를 지정합니다.
이벤트 처리기의 트랜잭션 옵션을 지정합니다.
이벤트 처리기에서 사용하는 로깅 모드를 지정합니다.
이벤트 처리기 내용
이벤트 처리기를 만드는 것은 패키지를 빌드하는 것과 비슷합니다. 이벤트 처리기에는 제어 흐름으로 시퀀스되는 태스크 및 컨테이너가 있으며 이벤트 처리기에는 데이터 흐름도 포함될 수 있습니다. SSIS 디자이너에는 사용자 지정 이벤트 처리기를 만들기 위한 이벤트 처리기 탭이 포함되어 있습니다.
프로그래밍 방식으로 이벤트 처리기를 만들 수도 있습니다. 자세한 내용은 프로그래밍 방식으로 이벤트 처리를 참조하세요.
런타임 이벤트
다음 표에서는 Integration Services에서 제공되는 이벤트 처리기를 나열하고 이벤트 처리기를 실행하는 런타임 이벤트에 대해 설명합니다.
이벤트 처리기 | 이벤트 |
---|---|
OnError | OnError 이벤트에 대한 이벤트 처리기입니다. 이 이벤트는 오류가 발생할 때 실행 파일에 의해 발생합니다. |
OnExecStatusChanged | OnExecStatusChanged 이벤트에 대한 이벤트 처리기입니다. 이 이벤트는 실행 상태가 변경될 때 실행 파일에 의해 발생합니다. |
OnInformation | OnInformation 이벤트에 대한 이벤트 처리기입니다. 이 이벤트는 정보 보고를 위한 실행 개체의 유효성 검사 및 실행 중에 발생합니다. 이 이벤트는 오류 또는 경고 없이 정보만 전달합니다. |
OnPostExecute | OnPostExecute 이벤트에 대한 이벤트 처리기입니다. 이 이벤트는 실행이 완료된 직후 실행 파일에 의해 발생합니다. |
OnPostValidate | OnPostValidate 이벤트에 대한 이벤트 처리기입니다. 이 이벤트는 유효성 검사가 완료될 때 실행 개체에 의해 발생합니다. |
OnPreExecute | OnPreExecute 이벤트에 대한 이벤트 처리기입니다. 이 이벤트는 실행되기 직전에 실행 파일에 의해 발생합니다. |
OnPreValidate | OnPreValidate 이벤트에 대한 이벤트 처리기입니다. 이 이벤트는 유효성 검사가 시작될 때 실행 파일에 의해 발생합니다. |
OnProgress | OnProgress 이벤트에 대한 이벤트 처리기입니다. 이 이벤트는 실행 파일에서 측정 가능한 진행률을 만들 때 실행 파일에 의해 발생합니다. |
OnQueryCancel | OnQueryCancel 이벤트에 대한 이벤트 처리기입니다. 이 이벤트는 실행 중지 시기를 결정하기 위해 실행 개체에 의해 발생합니다. |
OnTaskFailed | OnTaskFailed 이벤트에 대한 이벤트 처리기입니다. 이 이벤트는 작업이 실패할 때 해당 작업에 의해 발생합니다. |
OnVariableValueChanged | OnVariableValueChanged 이벤트에 대한 이벤트 처리기입니다. 이 이벤트는 변수 값이 변경될 때 실행 파일에 의해 발생합니다. 이 이벤트는 변수가 정의되는 실행 개체에 의해 발생합니다. 변수의 RaiseChangeEvent 속성을 False로 설정하면 이 이벤트가 발생하지 않습니다. 자세한 내용은 Integration Services(SSIS) 변수를 참조하세요. |
OnWarning | OnWarning 이벤트에 대한 이벤트 처리기입니다. 이 이벤트는 경고가 발생할 때 실행 파일에 의해 발생합니다. |
패키지에 이벤트 처리기 추가
런타임에 컨테이너 및 태스크는 이벤트를 발생합니다. 이벤트가 발생할 때 워크플로를 실행하여 이러한 이벤트에 응답하는 사용자 지정 이벤트 처리기를 만들 수 있습니다. 예를 들어 태스크가 실패하면 전자 메일 메시지를 보내는 이벤트 처리기를 만들 수 있습니다.
이벤트 처리기는 패키지와 유사합니다. 패키지와 마찬가지로 이벤트 처리기는 변수에 대한 범위를 제공할 수 있으며 제어 흐름 및 선택적 데이터 흐름을 포함합니다. 패키지, Foreach 루프 컨테이너, For 루프 컨테이너, 시퀀스 컨테이너 및 모든 작업에 대한 이벤트 처리기를 빌드할 수 있습니다.
SSIS 디자이너에서 이벤트 처리기 탭의 디자인 화면을 사용하여 이벤트 처리기를 만들 수 있습니다.
이벤트 처리기 탭이 활성화되면 SSIS 디자이너의 도구 상자에 있는 제어 흐름 항목 및 유지 관리 계획 태스크 노드에 이벤트 처리기의 제어 흐름을 빌드하기 위한 태스크와 컨테이너가 포함됩니다. 데이터 흐름 원본, 변환 및 데이터 흐름 대상 노드에는 이벤트 처리기에서 데이터 흐름을 빌드하기 위한 데이터 원본, 변환 및 대상이 포함됩니다. 자세한 내용은 제어 흐름 및 데이터 흐름을 참조하세요.
이벤트 처리기 탭에는 이벤트 처리기가 서버 및 데이터 원본에 연결하는 데 사용하는 연결 관리자를 만들고 수정할 수 있는 연결 관리자 영역도 포함되어있습니다. 자세한 내용은 연결 관리자 만들기를 참조하세요.
이벤트 처리기 탭에 이벤트 처리기 추가
SSDT(SQL Server Data Tools)에서 원하는 패키지가 들어 있는 Integration Services 프로젝트를 엽니다.
솔루션 탐색기에서 패키지를 두 번 클릭하여 엽니다.
이벤트 처리기 탭을 클릭합니다.
이벤트 처리기에서 제어 흐름 및 데이터 흐름을 만드는 것은 패키지에서 제어 흐름 및 데이터 흐름을 만드는 것과 비슷합니다. 자세한 내용은 제어 흐름 및 데이터 흐름을 참조하세요.
실행 파일 목록에서 이벤트 처리기를 만들 실행 파일을 선택합니다.
이벤트 처리기 목록에서 빌드하려는 이벤트 처리기를 선택합니다.
이벤트 처리기 탭의 디자인 화면에서 링크를 클릭합니다.
이벤트 처리기에 제어 흐름 항목을 추가하고 한 컨트롤 흐름 항목에서 다른 컨트롤 흐름 항목으로 제약 조건을 끌어 선행 제약 조건을 사용하여 항목을 연결합니다. 자세한 내용은 제어 흐름을 참조하세요.
필요에 따라 데이터 흐름 탭의 디자인 화면에 데이터 흐름 태스크를 추가하고 이벤트 처리기의 데이터 흐름을 만들 수도 있습니다. 자세한 내용은 Data Flow을 참조하세요.
패키지를 저장하려면 파일 메뉴에서 선택한 항목 저장 을 클릭합니다.
이벤트 처리기의 속성 설정
SSDT(SQL Server Data Tools)의 속성 창에서 또는 프로그래밍 방식으로 속성을 설정할 수 있습니다.
SQL Server Data Tools에서 이 속성을 설정하는 방법에 대해 자세한 정보는 작업 또는 컨테이너의 속성 설정을 참조하세요.
이러한 속성을 프로그래밍 방식으로 설정하는 방법에 대한 자세한 내용은 DtsEventHandler를 참조하세요.
관련 작업
패키지에 이벤트 처리기를 추가하는 방법에 대한 자세한 내용은 패키지에 이벤트 처리기 추가를 참조하세요.