패키지 배포 문제 해결 도구.
적용 대상: SQL Server Azure Data Factory의 SSIS Integration Runtime
Integration Services에는 SSDT(SQL Server Data Tools)에서 패키지를 개발하는 동안 패키지 문제를 해결하는 데 사용할 수 있는 기능과 도구가 포함되어 있습니다.
디자인 타임 유효성 검사 문제 해결
Integration Services의 현재 릴리스에서 패키지가 열리면 시스템은 모든 데이터 흐름 구성 요소의 유효성을 검사하기 전에 모든 연결의 유효성을 검사하고 오프라인에서 작동하기 위해 느리거나 사용할 수 없는 연결을 설정합니다. 이렇게 하면 패키지 데이터 흐름의 유효성 검사 지연을 줄일 수 있습니다.
패키지를 연 후 연결 관리자 영역에서 연결 관리자를 마우스 오른쪽 단추로 클릭한 다음 오프라인으로 작업을 클릭하여 연결을 끌 수도 있습니다. 이를 통해 SSIS 디자이너에서 작업 속도를 높일 수 있습니다.
오프라인으로 작동하도록 설정된 연결은 다음 중 하나를 수행할 때까지 오프라인 상태로 유지됩니다.
SSIS 디자이너의 연결 관리자 영역에서 연결 관리자를 마우스 오른쪽 단추로 클릭한 다음 연결 테스트를 클릭하여 연결을 테스트합니다.
예를 들어 패키지가 열릴 때 연결이 처음에 오프라인으로 작동하도록 설정됩니다. 연결 문자열을 수정하여 이 문제를 해결하고 테스트 연결 을 클릭하여 연결을 테스트합니다.
패키지를 다시 열거나 패키지가 들어 있는 프로젝트를 다시 엽니다. 패키지의 모든 연결에서 유효성 검사가 다시 실행됩니다.
Integration Services에는 유효성 검사 오류를 방지하는 데 도움이 되는 다음과 같은 추가 기능이 있습니다.
데이터 원본을 사용할 수 없을 때 오프라인으로 작업하도록 모든 패키지와 모든 연결을 설정합니다. SSIS 메뉴에서 오프라인으로 작업할 수 있습니다. 오프라인으로 작업 옵션은 DelayValidation 속성과 달리 패키지를 열기 전에도 사용할 수 있습니다. 또한 오프라인으로 작업 을 설정하여 디자이너에서의 작업 속도를 높이고, 패키지의 유효성을 검사하려는 경우에만 이 옵션을 해제할 수도 있습니다.
런타임까지 유효하지 않은 패키지 요소에서 DelayValidation 속성을 구성합니다. 패키지가 로드될 때 유효성 검사 오류를 방지하기 위해 구성이 유효하지 않은 패키지 요소에서 DelayValidation을 True로 설정할 수 있습니다. 예를 들어 SQL 실행 태스크가 런타임에 테이블을 만들 때까지 존재하지 않는 대상 테이블을 사용하는 데이터 흐름 태스크가 있을 수 있습니다. DelayValidation 속성은 패키지 수준 또는 패키지에 포함된 개별 작업 및 컨테이너 수준에서 사용하도록 설정할 수 있습니다. 일반적으로 패키지를 배포할 때는 동일한 패키지 요소에서 이 속성을 True 로 설정해야 런타임에 동일한 유효성 검사 오류를 방지할 수 있습니다.
DelayValidation 속성은 데이터 흐름 태스크에서 설정할 수 있지만 개별 데이터 흐름 구성 요소는 설정할 수 없습니다. 개별 데이터 흐름 구성 요소의 ValidateExternalMetadata 속성을 false로 설정하면 비슷한 효과를 얻을 수 있습니다. 그러나 이 속성의 값이 false이면 구성 요소는 외부 데이터 원본의 메타데이터 변경 내용을 인식하지 않습니다.
유효성 검사가 수행될 때 패키지에서 사용하는 데이터베이스 개체가 잠겨 있으면 유효성 검사 프로세스의 응답이 중지될 수 있습니다. 이러한 경우 SSIS 디자이너도 응답을 중지합니다. SQL Server에서 Management Studio를 사용하여 연관된 세션을 닫으면 유효성 검사를 다시 시작할 수 있습니다. 이 섹션에 설명된 설정을 사용하여 이 문제를 방지할 수도 있습니다.
제어 흐름 문제 해결
Integration Services에는 패키지 개발 중에 패키지의 제어 흐름 문제를 해결하는 데 사용할 수 있는 다음과 같은 기능과 도구가 포함되어 있습니다.
작업, 컨테이너 및 패키지에 중단점을 설정합니다. SSIS 디자이너에서 제공하는 그래픽 도구를 사용하여 중단점을 설정할 수 있습니다. 중단점은 패키지 수준 또는 패키지에 포함된 개별 작업 및 컨테이너 수준에서 사용할 수 있습니다. 일부 작업 및 컨테이너는 중단점을 설정하기 위한 추가 중단 조건을 제공합니다. 예를 들어 For 루프 컨테이너에서 루프의 각 반복이 시작될 때 실행을 일시 중단하는 중단 조건을 사용하도록 설정할 수 있습니다.
디버깅 창을 사용합니다. 중단점이 있는 패키지를 실행하면 SSDT(SQL Server Data Tools)의 디버그 창에서 변수 값 및 상태 메시지에 대한 액세스 권한을 제공합니다.
진행률 탭에서 정보를 검토합니다. SSIS 디자이너는 SSDT(SQL Server Data Tools)에서 패키지를 실행할 때 제어 흐름에 대한 추가 정보를 제공합니다. 진행률 탭은 실행 순서대로 작업 및 컨테이너를 나열하고 패키지 자체를 포함하여 각 작업 및 컨테이너에 대한 시작 및 완료 시간, 경고 및 오류 메시지를 포함합니다.
이러한 기능에 대한 자세한 내용은 Debugging Control Flow을 참조하십시오.
데이터 흐름 문제 해결
Integration Services에는 패키지 개발 중에 패키지의 데이터 흐름 문제를 해결하는 데 사용할 수 있는 다음과 같은 기능과 도구가 포함되어 있습니다.
데이터의 하위 집합만 테스트할 수 있습니다. 데이터 세트 예제만 사용하여 패키지에 있는 데이터 흐름의 문제를 해결하려면 비율 샘플링 또는 행 샘플링 변환을 포함시켜 실행 시 인라인 데이터 예제를 만들도록 할 수 있습니다. 자세한 내용은 Percentage Sampling Transformation 및 Row Sampling Transformation를 참조하세요.
데이터 뷰어를 사용하여 데이터가 데이터 흐름을 통해 이동할 때 데이터를 모니터링할 수 있습니다. 데이터 뷰어는 데이터가 원본, 변환 및 대상 간에 이동함에 따라 데이터 값을 표시합니다. 데이터 뷰어는 그리드에 데이터를 표시할 수 있습니다. 데이터 뷰어에서 클립보드로 데이터를 복사한 다음, 파일 또는 Excel 스프레드시트에 데이터를 붙여넣을 수 있습니다. 자세한 내용은 Debugging Data Flow을 참조하세요.
이를 지원하는 데이터 흐름 구성 요소에 대한 오류 출력을 구성합니다. 많은 데이터 흐름 원본, 변환 및 대상도 오류 출력을 지원합니다. 데이터 흐름 구성 요소의 오류 출력을 구성하면 오류가 있는 데이터를 다른 대상으로 보낼 수 있습니다. 예를 들어 실패했거나 잘린 데이터를 별도의 텍스트 파일에서 캡처할 수 있습니다. 오류 출력에 데이터 뷰어를 연결하고 오류 데이터만 검사할 수도 있습니다. 디자인 타임에 오류 출력은 실제 데이터를 효과적으로 처리하는 패키지를 개발하는 데 도움이 되는 번거로운 데이터 값을 캡처합니다. 그러나 다른 문제 해결 도구 및 기능이 디자인 타임에만 유용한 것과 달리 오류 출력은 프로덕션 환경에서도 유용할 수 있습니다. 자세한 내용은 데이터에서 오류 처리를 참조하세요.
처리되는 행 개수를 캡처할 수 있습니다. SSIS 디자이너에서 패키지를 실행할 때 경로를 통해 전달한 행 개수는 데이터 흐름 디자이너에 표시됩니다. 이 숫자는 데이터가 경로를 통과하는 동안 주기적으로 업데이트됩니다. 데이터 흐름에 행 개수 변환을 추가하여 변수의 최종 행 개수를 캡처할 수도 있습니다. 자세한 내용은 행 개수 변환을 참조하세요.
진행률 탭에서 정보를 검토합니다. SSIS 디자이너는 SSDT(SQL Server Data Tools)에서 패키지를 실행할 때 데이터 흐름에 대한 추가 정보를 제공합니다. 진행률 탭은 실행 순서대로 데이터 흐름 구성 요소를 나열하고 완료율로 표시되는 패키지의 각 단계에 대한 진행률 및 대상에 기록된 행 수를 포함합니다.
이러한 기능에 대한 자세한 내용은 Debugging Data Flow을 참조하십시오.
스크립트 문제 해결
VSTA(Microsoft Visual Studio Tools for Applications)는 스크립트 태스크 및 스크립트 구성 요소가 사용하는 스크립트를 작성하는 개발 환경입니다. VSTA는 패키지 개발 중에 스크립트 문제를 해결하는 데 사용할 수 있는 다음과 같은 기능과 도구를 제공합니다.
스크립트 작업의 스크립트에서 중단점을 설정합니다. VSTA는 스크립트 태스크에서만 스크립트에 대한 디버깅 지원을 제공합니다. 스크립트 태스크에서 설정한 중단점은 패키지에 설정한 중단점 및 패키지의 태스크 및 컨테이너와 통합되어 모든 패키지 요소를 원활하게 디버깅할 수 있습니다.
참고 항목
여러 스크립트 태스크가 포함된 패키지를 디버그하는 경우 디버거는 하나의 스크립트 태스크에서 중단점에 도달하고 다른 스크립트 태스크의 중단점을 무시합니다. 스크립트 태스크가 Foreach 루프 또는 For 루프 컨테이너의 일부인 경우 디버거는 루프의 첫 번째 반복 후 스크립트 태스크의 중단점을 무시합니다.
자세한 내용은 디버깅 스크립트를 참조하세요. 스크립트 구성 요소를 디버그하는 방법에 대한 제안 사항은 스크립트 구성 요소 코딩 및 디버깅을 참조하세요.
설명 없이 오류 문제 해결
설명이 없는 오류가 발생할 경우 Integration Services 오류 및 메시지 참조에서 오류 번호로 조회하여 해당 오류에 대한 설명을 찾을 수 있습니다. 이 목록에는 현재 문제 해결 정보는 들어 있지 않습니다.