패키지 배포 문제 해결 도구

Integration Services는 SQL Server Data Tools(SSDT)에서 패키지를 개발하면서 패키지의 문제를 해결하는 데 사용할 수 있는 기능 및 도구를 제공합니다.

디자인 타임 유효성 검사 문제 해결

현재 버전의 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 루프 컨테이너에 중단 조건을 설정할 수 있습니다.

  • 디버깅 창을 사용할 수 있습니다. 중단점이 있는 패키지를 실행할 때 SQL Server Data Tools(SSDT)의 디버그 창에서 변수 값 및 상태 메시지에 액세스할 수 있습니다.

  • 진행률 탭에서 정보를 검토할 수 있습니다. SSIS 디자이너는 SQL Server Data Tools(SSDT)에서 패키지를 실행할 때 제어 흐름에 대한 추가 정보를 제공합니다. 진행률 탭에는 태스크와 컨테이너가 실행 순서대로 나열되며 패키지 자체를 포함하여 각 태스크 및 컨테이너에 대한 시작 및 종료 시간, 경고 및 오류 메시지가 표시됩니다.

이러한 기능에 대한 자세한 내용은 제어 흐름 디버깅을 참조하십시오.

데이터 흐름 문제 해결

Integration Services는 패키지 개발 과정에서 패키지의 데이터 흐름 문제를 해결하는 데 사용할 수 있는 다음 기능 및 도구를 제공합니다.

  • 데이터의 하위 집합만 테스트할 수 있습니다. 데이터 집합 예제만 사용하여 패키지에 있는 데이터 흐름의 문제를 해결하려면 비율 샘플링 또는 행 샘플링 변환을 포함시켜 실행 시 인라인 데이터 예제를 만들도록 할 수 있습니다. 자세한 내용은 비율 샘플링 변환행 샘플링 변환을 참조하십시오.

  • 데이터 뷰어를 사용하여 데이터가 데이터 흐름을 통해 이동할 때 데이터를 모니터링할 수 있습니다. 데이터 뷰어는 데이터가 원본, 변환 및 대상 사이를 이동할 때의 데이터 값을 표시합니다. 데이터 뷰어는 표에 데이터를 표시할 수 있습니다. 데이터를 데이터 뷰어에서 클립보드로 복사한 다음 데이터를 파일 또는 엑셀 스프레드시트로 붙여 넣을 수 있습니다. 자세한 내용은 데이터 흐름에 데이터 뷰어 추가를 참조하십시오.

  • 오류 출력을 지원하는 데이터 흐름 구성 요소에 오류 출력을 구성할 수 있습니다. 여러 데이터 흐름 원본, 변환 및 대상은 오류 출력을 지원합니다. 데이터 흐름 구성 요소의 오류 출력을 구성하면 오류가 있는 데이터를 다른 대상으로 보낼 수 있습니다. 예를 들어 오류가 있거나 잘린 데이터를 별개의 텍스트 파일로 캡처할 수 있습니다. 오류 출력에 데이터 뷰어를 연결하고 오류 데이터만 검사할 수도 있습니다. 디자인 타임에 오류 출력을 통해 문제가 있는 데이터 값을 캡처하면 실제 데이터를 효과적으로 다루는 패키지를 개발하는 데 도움이 됩니다. 그러나 다른 문제 해결 도구 및 기능이 디자인 타임에만 유용한 것과 달리 오류 출력은 프로덕션 환경에서도 유용할 수 있습니다. 자세한 내용은 데이터 오류 처리를 참조하십시오.

  • 처리되는 행 개수를 캡처할 수 있습니다. SSIS 디자이너에서 패키지를 실행할 때 경로를 통해 전달한 행 개수는 데이터 흐름 디자이너에 표시됩니다. 데이터가 경로를 통해 이동하는 동안 이 개수는 주기적으로 업데이트됩니다. 또한 행 개수 변환을 데이터 흐름에 추가하여 변수에서 마지막 행 개수를 캡처할 수 있습니다. 자세한 내용은 행 개수 변환을 참조하십시오.

  • 진행률 탭에서 정보를 검토할 수 있습니다. SSIS 디자이너는 SQL Server Data Tools(SSDT)에서 패키지를 실행할 때 데이터 흐름에 대한 추가 정보를 제공합니다. 진행률 탭에는 데이터 흐름 구성 요소가 실행 순서대로 나열되며 패키지의 각 단계에 대한 진행률이 백분율로 표시되고 대상에 기록된 행 개수도 표시됩니다.

이러한 기능에 대한 자세한 내용은 데이터 흐름 디버깅을 참조하십시오.

스크립트 문제 해결

VSTA(Microsoft Visual Studio Tools for Applications)는 스크립트 태스크 및 스크립트 구성 요소가 사용하는 스크립트를 작성하는 개발 환경입니다. VSTA는 패키지 개발 과정에서 스크립트 문제를 해결하는 데 사용할 수 있는 다음 기능 및 도구를 제공합니다.

  • 스크립트 태스크의 스크립트에 중단점을 설정할 수 있습니다. VSTA는 스크립트 태스크의 스크립트에 대해서만 디버깅을 지원합니다. 스크립트 태스크에서 설정한 중단점은 패키지와 패키지의 태스크 및 컨테이너에서 설정한 중단점과 통합되므로 모든 패키지 요소를 완벽하게 디버깅할 수 있습니다.

    [!참고]

    스크립트 태스크가 여러 개 포함된 패키지를 디버깅할 경우 한 개의 스크립트 태스크에서만 디버거가 중단점에 도달하며 다른 스크립트 태스크에서는 중단점이 무시됩니다. 스크립트 태스크가 Foreach 루프 또는 For 루프 컨테이너의 일부일 경우 디버거는 루프의 첫 번째 반복 뒤에 있는 스크립트 태스크의 중단점을 무시합니다.

자세한 내용은 스크립트 디버깅을 참조하십시오. 스크립트 구성 요소를 디버깅하는 방법에 대한 제안 사항은 스크립트 구성 요소 코딩 및 디버깅를 참조하십시오.

설명이 없는 오류 문제 해결

패키지 개발 과정에서 설명이 없는 Integration Services 오류 번호가 발생할 경우 Integration Services 오류 및 메시지 참조에서 해당 설명을 찾을 수 있습니다. 이 목록에는 현재 문제 해결 정보는 들어 있지 않습니다.

Integration Services 아이콘(작은 아이콘) Integration Services 관련 최신 정보 얻기

Microsoft의 최신 다운로드, 아티클, 예제 및 비디오와 커뮤니티의 정선된 솔루션을 보려면 MSDN의 Integration Services 페이지를 방문하십시오.


이러한 업데이트에 대한 자동 알림을 받으려면 해당 페이지에서 제공하는 RSS 피드를 구독하십시오.

참고 항목

개념

패키지 실행 문제 해결 도구

데이터 흐름 성능 기능