패키지 배포 문제 해결 도구Troubleshooting Tools for Package Development

Integration ServicesIntegration ServicesSQL Server Data Tools(SSDT)SQL Server Data Tools (SSDT)에서 패키지를 개발하면서 패키지의 문제를 해결하는 데 사용할 수 있는 기능 및 도구를 제공합니다. includes features and tools that you can use to troubleshoot packages while you are developing them in SQL Server Data Tools(SSDT)SQL Server Data Tools (SSDT).

디자인 타임 유효성 검사 문제 해결Troubleshooting Design-time Validation Issues

현재 버전의 Integration ServicesIntegration Services에서 패키지를 열면 모든 데이터 흐름 구성 요소와 모든 연결에 대해 차례로 유효성 검사가 실행되고, 느리거나 오프라인으로 작업에 사용할 수 없는 연결이 설정됩니다.In the current release of Integration ServicesIntegration Services, when a package is opened, the system validates all connections before validating all of the data flow components and sets any connections that are slow or unavailable to work offline. 이로써 패키지 데이터 흐름의 유효성 검사가 지연되는 것을 줄일 수 있습니다.This helps reduce the delay in validating the package data flow.

패키지가 열리면 연결 관리자 영역에서 연결 관리자를 마우스 오른쪽 단추로 클릭하고 오프라인으로 작업을 클릭하여 연결을 해제할 수도 있습니다.After a package is opened, you can also turn off a connection by right-clicking the connection manager in the Connection Managers area and then clicking Work Offline. 이를 통해 SSIS 디자이너에서 작업 속도를 높일 수 있습니다.This can speed up operations in the SSIS Designer.

오프라인으로 작업하도록 설정된 작업은 사용자가 다음 중 하나를 수행할 때까지 오프라인으로 유지됩니다.Connections that have been set to work offline, will remain offline until you do one of the following:

  • SSIS 디자이너의 연결 관리자 영역에서 연결 관리자를 마우스 오른쪽 단추로 클릭하고 테스트 연결을 클릭하여 연결을 테스트합니다.Test the connection by right-clicking the connection manager in the Connection Managers area of SSIS Designer and then clicking Test Connectivity.

    예를 들어, 패키지가 열릴 때 처음에는 연결이 오프라인으로 작업하도록 설정됩니다.For example, a connection is initially set to work offline when the package is opened. 연결 문자열을 수정하여 이 문제를 해결하고 테스트 연결 을 클릭하여 연결을 테스트합니다.You modify the connection string to resolve the issue and click Test Connectivity to test the connection.

  • 패키지를 다시 열거나 패키지가 들어 있는 프로젝트를 엽니다.Re-open the package or re-open the project that contains the package. 패키지의 모든 연결에 대해 유효성 검사가 다시 실행됩니다.Validation is run again on all of the connections in the package.

    Integration ServicesIntegration Services 에는 유효성 검사 오류를 방지하는 데 도움이 되는 다음과 같은 추가 기능이 있습니다. includes the following, additional features to help you avoid validation errors :

  • 데이터 원본을 사용할 수 없을 때 오프라인으로 작업하도록 모든 패키지와 모든 연결을 설정합니다.Set all of the package and all of the connections to work offline when data sources are not available. SSIS 메뉴에서 오프라인으로 작업 을 사용하도록 설정할 수 있습니다.You can enable Work Offline from the SSIS menu. 오프라인으로 작업 옵션은 DelayValidation 속성과 달리 패키지를 열기 전에도 사용할 수 있습니다.Unlike the DelayValidation property, the Work Offline option is available even before you open a package. 또한 오프라인으로 작업 을 설정하여 디자이너에서의 작업 속도를 높이고, 패키지의 유효성을 검사하려는 경우에만 이 옵션을 해제할 수도 있습니다.You can also enable Work Offline to speed up operations in the designer, and disable it only when you want your package to be validated.

  • 런타임까지 유효하지 않은 패키지 요소에 대해 DelayValidation 속성을 구성합니다.Configure the DelayValidation property on package elements that are not valid until run time. 디자인 타임에는 구성이 유효하지 않은 패키지 요소의 DelayValidationTrue 로 설정하여 유효성 검사 오류를 방지할 수 있습니다.You can set DelayValidation to True on package elements whose configuration is not valid at design time to prevent validation errors. 예를 들어 런타임에 SQL 실행 작업을 통해 테이블이 만들어지기 전까지는 존재하지 않는 대상 테이블을 사용하는 데이터 흐름 태스크가 있을 수 있습니다.For example, you may have a Data Flow task that uses a destination table that does not exist until an Execute SQL task creates the table at run time. DelayValidation 속성은 패키지 수준 또는 패키지에 포함된 개별 태스크 및 컨테이너 수준에서 설정할 수 있습니다.The DelayValidation property can be enabled at the package level, or at the level of the individual tasks and containers that the package includes. 일반적으로 패키지를 배포할 때는 동일한 패키지 요소에서 이 속성을 True 로 설정해야 런타임에 동일한 유효성 검사 오류를 방지할 수 있습니다.Normally you must leave this property set to True on the same package elements when you deploy the package, to prevent the same validation errors at run time.

    DelayValidation 속성은 데이터 흐름 태스크에만 설정할 수 있고 개별 데이터 흐름 구성 요소에는 설정할 수 없습니다.The DelayValidation property can be set on a Data Flow task, but not on individual data flow components. 개별 데이터 흐름 구성 요소의 ValidateExternalMetadata 속성을 false을 참조하세요.You can achieve a similar effect by setting the ValidateExternalMetadata property of individual data flow components to false. 그러나 이 속성 값이 false이면 구성 요소에서 외부 데이터 원본의 메타데이터에 대한 변경 내용을 인식하지 못하게 됩니다.However, when the value of this property is false, the component is not aware of changes to the metadata of external data sources.

    유효성 검사가 발생할 때 패키지에서 사용하는 데이터베이스 개체가 잠기면 유효성 검사 프로세스가 응답하지 않을 수 있습니다.If database objects that are used by the package are locked when validation occurs, the validation process might stop responding. 이 경우 SSISSSIS 디자이너도 응답하지 않습니다.In these circumstances, the SSISSSIS Designer also stops responding. Management StudioManagement Studio 에서 SQL ServerSQL Server를 사용하여 연관된 세션을 닫으면 유효성 검사를 다시 시작할 수 있습니다.You can resume validation by using Management StudioManagement Studio to close the associated session in SQL ServerSQL Server. 또한 이 섹션에서 설명하는 설정을 사용하면 이러한 문제를 방지할 수 있습니다.You can also avoid this issue by using the settings described in this section.

제어 흐름 문제 해결Troubleshooting Control Flow

Integration ServicesIntegration Services 는 패키지 개발 과정에서 패키지의 제어 흐름 문제를 해결하는 데 사용할 수 있는 다음 기능 및 도구를 제공합니다. includes the following features and tools that you can use to troubleshoot the control flow in packages during package development:

  • 태스크, 컨테이너 및 패키지에 중단점을 설정할 수 있습니다.Set breakpoints on tasks, containers, and the package. SSISSSIS 디자이너가 제공하는 그래픽 도구를 사용하여 중단점을 설정할 수 있습니다.You can set breakpoints by using the graphical tools that SSISSSIS Designer provides. 중단점은 패키지 수준 또는 패키지에 포함된 개별 태스크 및 컨테이너 수준에서 설정할 수 있습니다.Breakpoints can be enabled at the package level, or at the level of the individual tasks and containers that the package includes. 일부 태스크 및 컨테이너에는 중단점 설정을 위한 추가 중단 조건이 포함되어 있습니다.Some tasks and containers provide additional break conditions for setting breakpoints. 예를 들어 반복되는 각 루프가 시작될 때 실행을 일시 중지하도록 For 루프 컨테이너에 중단 조건을 설정할 수 있습니다.For example, you can enable a break condition on the For Loop container that suspends execution at the start of each iteration of the loop.

  • 디버깅 창을 사용할 수 있습니다.Use the debugging windows. 중단점이 있는 패키지를 실행할 때 SQL Server Data Tools(SSDT)SQL Server Data Tools (SSDT) 의 디버그 창에서 변수 값 및 상태 메시지에 액세스할 수 있습니다.When you run a package that has breakpoints, the debug windows in SQL Server Data Tools(SSDT)SQL Server Data Tools (SSDT) provide access to variable values and status messages.

  • 진행률 탭에서 정보를 검토할 수 있습니다.Review the information on the Progress tab. SSISSSIS 디자이너는 SQL Server Data Tools(SSDT)SQL Server Data Tools (SSDT)에서 패키지를 실행할 때 제어 흐름에 대한 추가 정보를 제공합니다. Designer provides additional information about control flow when you run a package in SQL Server Data Tools(SSDT)SQL Server Data Tools (SSDT). 진행률 탭에는 태스크와 컨테이너가 실행 순서대로 나열되며 패키지 자체를 포함하여 각 태스크 및 컨테이너에 대한 시작 및 종료 시간, 경고 및 오류 메시지가 표시됩니다.The Progress tab lists tasks and containers in order of execution and includes start and finish times, warnings, and error messages for each task and container, including the package itself.

    이러한 기능에 대한 자세한 내용은 Debugging Control Flow을 참조하십시오.For more information on these features, see Debugging Control Flow.

데이터 흐름 문제 해결Troubleshooting Data Flow

Integration ServicesIntegration Services 는 패키지 개발 과정에서 패키지의 데이터 흐름 문제를 해결하는 데 사용할 수 있는 다음 기능 및 도구를 제공합니다. includes the following features and tools that you can use to troubleshoot the data flows in packages during package development:

  • 데이터의 하위 집합만 테스트할 수 있습니다.Test with only a subset of your data. 데이터 집합 예제만 사용하여 패키지에 있는 데이터 흐름의 문제를 해결하려면 비율 샘플링 또는 행 샘플링 변환을 포함시켜 실행 시 인라인 데이터 예제를 만들도록 할 수 있습니다.If you want to troubleshoot the data flow in a package by using only a sample of the dataset, you can include a Percentage Sampling or Row Sampling transformation to create an in-line data sample at run time. 자세한 내용은 Percentage Sampling TransformationRow Sampling Transformation를 참조하세요.For more information, see Percentage Sampling Transformation and Row Sampling Transformation.

  • 데이터 뷰어를 사용하여 데이터가 데이터 흐름을 통해 이동할 때 데이터를 모니터링할 수 있습니다.Use data viewers to monitor data as it moves through the data flow. 데이터 뷰어는 데이터가 원본, 변환 및 대상 사이를 이동할 때의 데이터 값을 표시합니다.Data viewers display data values as the data moves between sources, transformations, and destinations. 데이터 뷰어는 표에 데이터를 표시할 수 있습니다.A data viewer can display data in a grid. 데이터를 데이터 뷰어에서 클립보드로 복사한 다음 데이터를 파일 또는 엑셀 스프레드시트로 붙여넣을 수 있습니다.You can copy the data from a data viewer to the Clipboard, and then paste the data into a file or Excel spreadsheet. 자세한 내용은 Debugging Data Flow 에서 패키지를 개발하면서 패키지의 문제를 해결하는 데 사용할 수 있는 기능 및 도구를 제공합니다.For more information, see Debugging Data Flow .

  • 오류 출력을 지원하는 데이터 흐름 구성 요소에 오류 출력을 구성할 수 있습니다.Configure error outputs on data flow components that support them. 여러 데이터 흐름 원본, 변환 및 대상은 오류 출력을 지원합니다.Many data flow sources, transformations, and destinations also support error outputs. 데이터 흐름 구성 요소의 오류 출력을 구성하면 오류가 있는 데이터를 다른 대상으로 보낼 수 있습니다.By configuring the error output of a data flow component, you can direct data that contains errors to a different destination. 예를 들어 오류가 있거나 잘린 데이터를 별개의 텍스트 파일로 캡처할 수 있습니다.For example, you can capture the data that failed or was truncated in a separate text file. 오류 출력에 데이터 뷰어를 연결하고 오류 데이터만 검사할 수도 있습니다.You can also attach data viewers to error outputs and examine only the erroneous data. 디자인 타임에 오류 출력을 통해 문제가 있는 데이터 값을 캡처하면 실제 데이터를 효과적으로 다루는 패키지를 개발하는 데 도움이 됩니다.At design time, error outputs capture troublesome data values to help you develop packages that deal effectively with real-world data. 그러나 다른 문제 해결 도구 및 기능이 디자인 타임에만 유용한 것과 달리 오류 출력은 프로덕션 환경에서도 유용할 수 있습니다.However, while other troubleshooting tools and features are useful only at design time, error outputs retain their usefulness in the production environment. 자세한 내용은 데이터 오류 처리를 참조하세요.For more information, see Error Handling in Data.

  • 처리되는 행 개수를 캡처할 수 있습니다.Capture the count of rows processed. SSISSSIS 디자이너에서 패키지를 실행할 때 경로를 통해 전달한 행 개수는 데이터 흐름 디자이너에 표시됩니다.When you run a package in SSISSSIS Designer, the number of rows that have passed through a path is displayed in the data flow designer. 데이터가 경로를 통해 이동하는 동안 이 개수는 주기적으로 업데이트됩니다.This number is updated periodically while the data moves through the path. 또한 행 개수 변환을 데이터 흐름에 추가하여 변수에서 마지막 행 개수를 캡처할 수 있습니다.You can also add a Row Count transformation to the data flow to capture the final row count in a variable. 자세한 내용은 Row Count Transformation을(를) 참조하세요.For more information, see Row Count Transformation.

  • 진행률 탭에서 정보를 검토할 수 있습니다.Review the information on the Progress tab. SSISSSIS 디자이너는 SQL Server Data Tools(SSDT)SQL Server Data Tools (SSDT)에서 패키지를 실행할 때 데이터 흐름에 대한 추가 정보를 제공합니다. Designer provides additional information about data flows when you run a package in SQL Server Data Tools(SSDT)SQL Server Data Tools (SSDT). 진행률 탭에는 데이터 흐름 구성 요소가 실행 순서대로 나열되며 패키지의 각 단계에 대한 진행률이 백분율로 표시되고 대상에 기록된 행 개수도 표시됩니다.The Progress tab lists data flow components in order of execution and includes information about progress for each phase of the package, displayed as percentage complete, and the number of rows written to the destination.

    이러한 기능에 대한 자세한 내용은 Debugging Data Flow을 참조하십시오.For more information on these features, see Debugging Data Flow.

스크립트 문제 해결Troubleshooting Scripts

MicrosoftMicrosoft Visual StudioVisual Studio VSTA(Tools for Applications)는 스크립트 태스크 및 스크립트 구성 요소가 사용하는 스크립트를 작성하는 개발 환경입니다. Visual StudioVisual Studio Tools for Applications (VSTA) is the development environment in which you write the scripts that are used by the Script task and Script component. VSTA는 패키지 개발 과정에서 스크립트 문제를 해결하는 데 사용할 수 있는 다음 기능 및 도구를 제공합니다.VSTA provides the following features and tools that you can use to troubleshoot scripts during package development:

  • 스크립트 태스크의 스크립트에 중단점을 설정할 수 있습니다.Set breakpoints in script in Script tasks. VSTA는 스크립트 태스크의 스크립트에 대해서만 디버깅을 지원합니다.VSTA provides debugging support for scripts in the Script task only. 스크립트 태스크에서 설정한 중단점은 패키지와 패키지의 태스크 및 컨테이너에서 설정한 중단점과 통합되므로 모든 패키지 요소를 완벽하게 디버깅할 수 있습니다.The breakpoints that you set in Script tasks are integrated with the breakpoints that you set on packages and the tasks and containers in the package, enabling seamless debugging of all package elements.

    참고

    스크립트 태스크가 여러 개 포함된 패키지를 디버깅할 경우 한 개의 스크립트 태스크에서만 디버거가 중단점에 도달하며 다른 스크립트 태스크에서는 중단점이 무시됩니다.When you debug a package that contains multiple Script tasks, the debugger hits breakpoints in only one Script task and will ignore breakpoints in the other Script tasks. 스크립트 태스크가 Foreach 루프 또는 For 루프 컨테이너의 일부일 경우 디버거는 루프의 첫 번째 반복 뒤에 있는 스크립트 태스크의 중단점을 무시합니다.If a Script task is part of a Foreach Loop or For Loop container, the debugger ignores breakpoints in the Script task after the first iteration of the loop.

    자세한 내용은 Debugging Script을(를) 참조하세요.For more information, see Debugging Script. 스크립트 구성 요소를 디버깅하는 방법에 대한 제안 사항은 스크립트 구성 요소 코딩 및 디버그를 참조하세요.For suggestions about how to debug the Script component, see Coding and Debugging the Script Component.

설명이 없는 오류 문제 해결Troubleshooting Errors without a Description

패키지 개발 과정에서 설명이 없는 Integration ServicesIntegration Services 오류 번호가 발생할 경우 Integration Services 오류 및 메시지 참조에서 해당 설명을 찾을 수 있습니다.If you encounter an Integration ServicesIntegration Services error number without an accompanying description during package development, you can locate the description in Integration Services Error and Message Reference. 이 목록에는 현재 문제 해결 정보는 들어 있지 않습니다.The list does not include troubleshooting information at this time.

관련 항목:See Also

패키지 실행 문제 해결 도구 Troubleshooting Tools for Package Execution
데이터 흐름 성능 기능Data Flow Performance Features