데이터 흐름 디버깅Debugging Data Flow

MicrosoftMicrosoft Integration ServicesIntegration ServicesSSISSSIS 디자이너에는 Integration ServicesIntegration Services 패키지에서 데이터 흐름 문제를 해결하는 데 사용할 수 있는 기능과 도구가 포함됩니다. Integration ServicesIntegration Services and the SSISSSIS Designer include features and tools that you can use to troubleshoot the data flows in an Integration ServicesIntegration Services package.

  • SSISSSIS 디자이너는 데이터 뷰어를 제공합니다. Designer provides data viewers.

  • SSISSSIS 디자이너와 Integration ServicesIntegration Services 변환은 행 개수를 확인합니다. Designer and Integration ServicesIntegration Services transformations provide row counts.

  • SSISSSIS 디자이너는 런타임에 진행률을 보고합니다. Designer provides progress reporting at run time.

데이터 뷰어Data Viewers

데이터 뷰어는 두 구성 요소 간 데이터를 데이터 흐름으로 표시합니다.Data viewers display data between two components in a data flow. 데이터 뷰어는 데이터 원본에서 데이터가 추출되어 처음으로 데이터 흐름에 들어갈 때, 변환으로 데이터가 업데이트되기 전/후와 데이터가 해당 대상으로 로드되기 전에 데이터를 표시합니다.Data viewers can display data when the data is extracted from a data source and first enters a data flow, before and after a transformation updates the data, and before the data is loaded into its destination.

데이터를 보려면 두 데이터 흐름 구성 요소를 연결하는 경로에 데이터 뷰어를 연결합니다.To view the data, you attach data viewers to the path that connects two data flow components. 데이터 흐름 구성 요소 간의 데이터를 확인하면 예기치 않은 데이터 값을 확인하고, 변환으로 열 값이 변경되는 방식을 확인하고, 변환이 실패하는 이유를 확인하는 등의 작업을 더 쉽게 수행할 수 있습니다.The ability to view data between data flow components makes it easier to identify unexpected data values, view the way a transformation changes column values, and discover the reason that a transformation fails. 예를 들어 참조 테이블에서 실패한 조회를 확인하고 이를 수정하기 위해 빈 열에 대해 기본 데이터를 제공하는 변환을 추가할 수 있습니다.For example, you may find that a lookup in a reference table fails, and to correct this you may want to add a transformation that provides default data for blank columns.

데이터 뷰어는 표에 데이터를 표시할 수 있습니다.A data viewer can display data in a grid. 표를 사용하면 표시할 열을 선택할 수 있습니다.Using a grid, you select the columns to display. 선택한 열의 값은 표 형식으로 표시됩니다.The values for the selected columns display in a tabular format.

또한 경로에 여러 데이터 뷰어를 포함시킬 수 있습니다.You can also include multiple data viewers on a path. 데이터에 대한 차트 뷰와 표 뷰를 만드는 것과 같이 동일 데이터를 여러 형식으로 표시하거나 데이터의 여러 열에 대해 서로 다른 데이터 뷰어를 만들 수 있습니다.You can display the same data in different formats—for example, create a chart view and a grid view of the data—or create different data viewers for different columns of data.

데이터 뷰어를 경로에 추가하면 SSISSSIS 디자이너는 데이터 흐름 탭의 디자인 화면에서 경로 옆에 데이터 뷰어 아이콘을 추가합니다.When you add a data viewer to a path, SSISSSIS Designer adds a data viewer icon to the design surface of the Data Flow tab, next to the path. 조건부 분할 변환과 같이 여러 출력을 포함할 수 있는 변환에는 각 경로에 데이터 뷰어가 포함될 수 있습니다.Transformations that can have multiple outputs, such as the Conditional Split transformation, can include a data viewer on each path.

런타임에 데이터 뷰어 창이 열리고 데이터 뷰어 형식으로 지정된 정보가 표시됩니다.At run time, a Data Viewer window opens and displays the information specified by the data viewer format. 예를 들어 표 형식을 사용하는 데이터 뷰어는 선택된 열, 데이터 흐름 구성 요소로 전달된 출력 행의 수 및 표시된 행의 수에 대한 데이터를 표시합니다.For example, a data viewer that uses the grid format shows data for the selected columns, the number of output rows passed to the data flow component, and the number of rows displayed. 이 정보는 버퍼별로 표시되며 버퍼에 포함되는 행의 수는 데이터 흐름에서 행의 폭에 따라 결정됩니다.The information displays buffer by buffer and, depending on the width of the rows in the data flow, a buffer may contain more or fewer rows.

데이터 뷰어 대화 상자에서 데이터를 클립보드로 복사하고, 테이블에서 모든 데이터를 삭제하고, 데이터 뷰어를 다시 구성하고, 데이터 흐름을 재개하고, 데이터 뷰어를 연결하거나 연결을 끊을 수 있습니다.In the Data Viewer dialog box, you can copy the data to the Clipboard, clear all data from the table, reconfigure the data viewer, resume the flow of data, and detach or attach the data viewer.

데이터 뷰어를 추가하려면To add a data viewer

행 개수Row Counts

경로를 통해 전달된 행 개수가 디자이너의 데이터 흐름 SSISSSIS 탭의 디자인 화면에서 경로 옆에 표시됩니다.The number of rows that have passed through a path is displayed on the design surface of the Data Flow tab in SSISSSIS Designer next to the path. 데이터가 경로를 통해 이동하는 동안 개수가 주기적으로 업데이트됩니다.The 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.

진행률 보고Progress Reporting

패키지를 실행할 때 SSISSSIS 디자이너는 상태를 나타내는 색으로 각 데이터 흐름 구성 요소를 표시하여 데이터 흐름 탭의 디자인 화면에 진행률을 표시합니다.When you run a package, SSISSSIS Designer depicts progress on the design surface of the Data Flow tab by displaying each data flow component in a color that indicates status. 각 구성 요소에서 해당 작업 수행을 시작하면 색이 노란색으로 바뀌고, 성공적으로 완료되면 녹색으로 바뀝니다.When each component starts to perform its work, it changes from no color to yellow, and when it finishes successfully, it changes to green. 빨간색은 구성 요소가 실패했음을 나타냅니다.A red color indicates that the component failed.

다음 표에서는 색 구분 기능에 대해 설명합니다.The following table describes the color-coding.

Color DescriptionDescription
색 없음No color 데이터 흐름 엔진의 호출을 대기 중입니다.Waiting to be called by the data flow engine.
노란색Yellow 변환 수행, 데이터 추출 또는 데이터 로드 중입니다.Performing a transformation, extracting data, or loading data.
녹색Green 성공적으로 실행되었습니다.Ran successfully.
redred 실행 중 오류가 발생했습니다.Ran with errors.

데이터 흐름 분석Analysis of Data Flow

catalog.execution_data_statistics SSISDB 데이터베이스 뷰를 사용하여 패키지의 데이터 흐름을 분석할 수 있습니다.You can use the catalog.execution_data_statistics SSISDB database view to analyze the data flow of packages. 이 뷰는 데이터 흐름 구성 요소가 다운스트림 구성 요소에 데이터를 전송할 때마다 행을 표시합니다.This view displays a row each time a data flow component sends data to a downstream component. 이 정보를 사용하여 각 구성 요소로 보내진 행을 자세하게 파악할 수 있습니다.The information can be used to gain a deeper understanding of the rows that are sent to each component.

참고

catalog.execution_data_statistics 뷰를 사용하여 정보를 캡처하려면 로깅 수준을 자세히 로 설정해야 합니다.The logging level must be set to Verbose in order to capture information with the catalog.execution_data_statistics view.

다음 예에서는 패키지의 구성 요소 간에 보내진 행 수를 표시합니다.The following example displays the number of rows sent between components of a package.

use SSISDB  
select package_name, task_name, source_component_name, destination_component_name, rows_sent  
from catalog.execution_data_statistics  
where execution_id = 132  
order by source_component_name, destination_component_name  

다음 예에서는 특정 실행 중 각 구성 요소가 보낸 밀리초당 행 수를 계산합니다.The following example calculates the number of rows per millisecond sent by each component for a specific execution. 계산되는 값은 다음과 같습니다.The calculated values are:

  • total_rows - 구성 요소가 보낸 모든 행의 합계total_rows - the sum of all the rows sent by the component

  • wall_clock_time_ms - 각 구성 요소에 대한 총 실행 경과 시간(밀리초)wall_clock_time_ms – the total elapsed execution time, in milliseconds, for each component

  • num_rows_per_millisecond - 각 구성 요소가 보낸 밀리초당 행 수num_rows_per_millisecond – the number of rows per millisecond sent by each component

    HAVING 절은 계산에서 0으로 나누기 오류를 방지하기 위해 사용됩니다.The HAVING clause is used to prevent a divide-by-zero error in the calculations.

use SSISDB  
select source_component_name, destination_component_name,  
    sum(rows_sent) as total_rows,  
    DATEDIFF(ms,min(created_time),max(created_time)) as wall_clock_time_ms,  
    ((0.0+sum(rows_sent)) / (datediff(ms,min(created_time),max(created_time)))) as [num_rows_per_millisecond]  
from [catalog].[execution_data_statistics]  
where execution_id = 132  
group by source_component_name, destination_component_name  
having (datediff(ms,min(created_time),max(created_time))) > 0  
order by source_component_name desc  

데이터 흐름 구성 요소에서 오류 출력 구성Configure an Error Output in a Data Flow Component

많은 데이터 흐름 구성 요소가 오류 출력을 지원하며 SSISSSIS 디자이너는 구성 요소에 따라 오류 출력을 다르게 구성할 수 있는 방법을 제공합니다.Many data flow components support error outputs, and depending on the component, SSISSSIS Designer provides different ways to configure an error output. 오류 출력을 구성하는 것 외에도 오류 출력의 열을 구성할 수도 있습니다.In addition to configuring an error output, you can also configure the columns of an error output. 이 작업에는 구성 요소에서 추가한 ErrorCodeErrorColumn 열의 구성이 포함됩니다.This includes configuring the ErrorCode and ErrorColumn columns that are added by the component.

오류 출력 구성Configuring an Error Output

다음 두 가지 옵션을 사용하여 오류 출력을 구성할 수 있습니다.To configure an error output, you have two options:

  • 오류 출력 구성 대화 상자를 사용합니다.Use the Configure Error Output dialog box. 이 대화 상자를 사용하면 오류 출력을 지원하는 데이터 흐름 구성 요소의 오류 출력을 구성할 수 있습니다.You can use this dialog box to configure an error output on any data flow component that supports an error output.

  • 구성 요소의 편집기 대화 상자를 사용합니다.Use the editor dialog box for the component. 일부 구성 요소는 해당 편집기 대화 상자에서 직접 오류 출력을 구성할 수 있습니다.Some components let you configure error outputs directly from their editor dialog box. 그러나 ADO.NET 원본, 열 가져오기 변환, OLE DB 명령 변환 또는 SQL ServerSQL Server Compact 대상의 편집기 대화 상자에서는 오류 출력을 구성할 수 없습니다.However, you cannot configure error outputs from the editor dialog box for the ADO NET source, the Import Column transformation, the OLE DB Command transformation, or the SQL ServerSQL Server Compact destination.

    다음 절차에서는 이러한 대화 상자를 사용하여 오류 출력을 구성하는 방법을 설명합니다.The following procedures describe how to use these dialog boxes to configure error outputs.

오류 출력 구성 대화 상자를 사용하여 오류 출력을 구성하려면To configure an error output using the Configure Error Output dialog box

  1. SQL Server Data Tools(SSDT)SQL Server Data Tools (SSDT)에서 원하는 패키지가 들어 있는 Integration ServicesIntegration Services 프로젝트를 엽니다.In SQL Server Data Tools(SSDT)SQL Server Data Tools (SSDT), open the Integration ServicesIntegration Services project that contains the package you want.

  2. 솔루션 탐색기에서 패키지를 두 번 클릭하여 엽니다.In Solution Explorer, double-click the package to open it.

  3. SSISSSIS 디자이너에서 데이터 흐름 탭을 클릭합니다.In SSISSSIS Designer, click the Data Flow tab.

  4. 오류의 원본에 해당하는 구성 요소에서 빨간 색 화살표로 표시된 오류 출력을 데이터 흐름의 다른 구성 요소로 끌어다 놓습니다.Drag the error output, represented by the red arrow, from the component that is the source of the errors to another component in the data flow.

  5. 구성 요소 입력의 각 열에 대해 오류 출력 구성 대화 상자의 오류잘림 열에 있는 동작을 선택합니다.In the Configure Error Output dialog box, select an action in the Error and Truncation columns for each column in the component input.

  6. 업데이트된 패키지를 저장하려면 파일 메뉴에서 선택한 항목 저장을 클릭합니다.To save the updated package, on the File menu, click Save Selected Items.

구성 요소의 편집기 대화 상자를 사용하여 오류 출력을 추가하려면To add an error output using the editor dialog box for the component

  1. SQL Server Data Tools(SSDT)SQL Server Data Tools (SSDT)에서 원하는 패키지가 들어 있는 Integration ServicesIntegration Services 프로젝트를 엽니다.In SQL Server Data Tools(SSDT)SQL Server Data Tools (SSDT), open the Integration ServicesIntegration Services project that contains the package you want.

  2. 솔루션 탐색기에서 패키지를 두 번 클릭하여 엽니다.In Solution Explorer, double-click the package to open it.

  3. SSISSSIS 디자이너에서 데이터 흐름 탭을 클릭합니다.In SSISSSIS Designer, click the Data Flow tab.

  4. 오류 출력을 구성할 데이터 흐름 구성 요소를 두 번 클릭한 다음 구성 요소에 따라 다음 단계 중 하나를 수행합니다.Double-click the data flow components in which you want to configure an error output and, depending on the component, do one of the following steps:

    • 오류 출력 구성을 클릭합니다.Click Configure Error Output.

    • 오류 출력을 클릭합니다.Click Error Output.

  5. 각 열에 대한 오류 옵션을 설정합니다.Set the Error option for each column.

  6. 각 열에 대한 잘림 옵션을 설정합니다.Set the Truncation option for each column.

  7. 확인을 클릭합니다.Click OK.

  8. 업데이트된 패키지를 저장하려면 파일 메뉴에서 선택한 항목 저장을 클릭합니다.To save the updated package, on the File menu, click Save Selected Items.

오류 출력 열 구성Configuring Error Output Columns

오류 출력 열을 구성하려면 고급 편집기 대화 상자의 입/출력 속성 탭을 사용해야 합니다.To configure the error output columns, you have to use the Input and Output Properties tab of the Advanced Editor dialog box.

오류 출력 열을 구성하려면To configure error output columns

  1. SQL Server Data Tools(SSDT)SQL Server Data Tools (SSDT)에서 원하는 패키지가 들어 있는 Integration ServicesIntegration Services 프로젝트를 엽니다.In SQL Server Data Tools(SSDT)SQL Server Data Tools (SSDT), open the Integration ServicesIntegration Services project that contains the package you want.

  2. 솔루션 탐색기에서 패키지를 두 번 클릭하여 엽니다.In Solution Explorer, double-click the package to open it.

  3. SSISSSIS 디자이너에서 데이터 흐름 탭을 클릭합니다.In SSISSSIS Designer, click the Data Flow tab.

  4. 구성하려는 오류 출력 열이 있는 구성 요소를 마우스 오른쪽 단추로 클릭하고 고급 편집기 표시를 클릭합니다.Right-click the component whose error output columns you want to configure and click Show Advanced Editor.

  5. 클릭는 입 / 출력 속성 탭을 확장 하 고 <구성 요소 이름 > 오류 출력 펼친 다음 출력 열합니다.Click the Input and Output Properties tab and expand <component name> Error Output and then expand Output Columns.

  6. 열을 클릭하고 속성을 업데이트합니다.Click a column and update its properties.

    참고

    열 목록은 구성 요소 입력 내의 열, 이전 오류 출력에서 추가한 ErrorCodeErrorColumn 열, 현재 구성 요소에서 추가한 ErrorCodeErrorColumn 열을 포함합니다.The list of columns includes the columns in the component input, the ErrorCode and ErrorColumn columns added by previous error outputs, and the ErrorCode and ErrorColumn columns added by this component.

  7. 확인.Click OK.

  8. 업데이트된 패키지를 저장하려면 파일 메뉴에서 선택한 항목 저장을 클릭합니다.To save the updated package, on the File menu, click Save Selected Items.

데이터 흐름에 데이터 뷰어 추가 Add a Data Viewer to a Data Flow

이 항목에서는 데이터 흐름에 데이터 뷰어를 추가 및 구성하는 방법에 대해 설명합니다.This topic describes how to add and configure a data viewer in a data flow. 데이터 뷰어는 두 데이터 흐름 구성 요소 간에 이동하는 데이터를 표시합니다.A data viewer displays data that is moving between two data flow components. 예를 들어 데이터 뷰어는 데이터 흐름 변환으로 데이터가 수정되기 전의 데이터 원본에서 추출한 데이터를 표시할 수 있습니다.For example, a data viewer can display the data that is extracted from a data source before a transformation in the data flow modifies the data.

경로는 하나의 데이터 흐름 구성 요소의 출력을 다른 구성 요소의 입력에 연결함으로써 데이터 흐름의 구성 요소를 연결합니다.A path connects components in a data flow by connecting the output of one data flow component to the input of another component.

패키지에 데이터 뷰어를 추가하려면 패키지에 데이터 흐름 태스크 및 최소한 두 개 이상의 연결된 데이터 흐름 구성 요소가 포함되어 있어야 합니다.Before you can add data viewers to a package, the package must include a Data Flow task and at least two data flow components that are connected.

데이터 뷰어를 오류 출력에 추가하여 오류가 발생한 열의 오류 및 이름 설명을 봅니다.Add a data viewer to an error output to see the description of the error and the name of the column in which the error occurred. 기본적으로 오류 출력은 오류 및 열에 대한 숫자 식별자만 포함합니다.By default the error output includes only numeric identifiers for the error and the column.

데이터 흐름에 데이터 뷰어를 추가하려면To add a data viewer to a data flow

  1. SQL Server Data Tools(SSDT)SQL Server Data Tools (SSDT)에서 원하는 패키지가 들어 있는 Integration ServicesIntegration Services 프로젝트를 엽니다.In SQL Server Data Tools(SSDT)SQL Server Data Tools (SSDT), open the Integration ServicesIntegration Services project that contains the package you want.

  2. 솔루션 탐색기에서 패키지를 두 번 클릭하여 엽니다.In Solution Explorer, double-click the package to open it.

  3. 제어 흐름 이 아직 활성화되어 있지 않으면 탭을 클릭합니다.Click the Control Flow tab, if it is not already active.

  4. 데이터 흐름 태스크를 클릭하여 데이터 뷰어를 첨부할 데이터 흐름을 선택하고 데이터 흐름 탭을 클릭합니다.Click the Data Flow task to whose data flow you want to attach a data viewer and then click the Data Flow tab.

  5. 두 데이터 흐름 구성 요소 간 경로를 마우스 오른쪽 단추로 클릭하고 편집을 클릭합니다.Right-click a path between two data flow components, and click Edit.

  6. 일반 페이지에서 경로 속성을 보고 편집할 수 있습니다.On the General page, you can view and edit path properties. 예를 들어 PathAnnotation 드롭다운 목록에서 경로 옆에 표시되는 주석을 선택할 수 있습니다.For example, from the PathAnnotation drop-down list you can select the annotation that appears next to the path.

  7. 메타데이터 페이지에서 열 메타데이터를 보고 메타데이터를 클립보드로 복사할 수 있습니다.On the Metadata page, you can view the column metadata and copy the metadata to the Clipboard.

  8. 데이터 뷰어 페이지에서 데이터 뷰어 사용을 클릭합니다.On the Data Viewer page, click Enable data viewer.

  9. 표시할 열 영역에서 데이터 뷰어에 표시할 열을 선택합니다.In the Columns to display area, select the columns you want to display in the data viewer. 기본적으로 사용 가능한 열이 모두 선택되어 표시된 열 목록에 나열됩니다.By default, all the available columns are selected and listed in the Displayed Columns list. 사용하지 않을 열을 선택하고 왼쪽 화살표를 클릭하여 사용되지 않은 열 목록으로 이동합니다.Move columns that you do not want to use to the Unused Column list by selecting them and then clicking the left arrow.

    참고

    표에서 DT_DATE, DT_DBTIME2, DT_FILETIME, DT_DBTIMESTAMP, DT_DBTIMESTAMP2 및 DT_DBTIMESTAMPOFFSET 데이터 형식을 나타내는 값은 ISO 8601 형식 문자열로 표시되고 T 구분 기호는 공백 구분 기호로 대체됩니다.In the grid, values that represent the DT_DATE, DT_DBTIME2, DT_FILETIME, DT_DBTIMESTAMP, DT_DBTIMESTAMP2, and DT_DBTIMESTAMPOFFSET data types appear as ISO 8601 formatted strings and a space separator replaces the T separator. DT_DATE 및 DT_FILETIME 데이터 형식을 나타내는 값은 7자리의 소수 자릿수 초를 갖습니다.Values that represent the DT_DATE and DT_FILETIME data types include seven digits for fractional seconds. DT_FILETIME 데이터 형식은 3자리의 소수 자릿수 초만 저장하기 때문에 표에는 나머지 4자리가 0으로 표시됩니다.Because the DT_FILETIME data type stores only three digits of fractional seconds, the grid displays zeros for the remaining four digits. DT_DBTIMESTAMP 데이터 형식을 나타내는 값은 3자리의 소수 자릿수 초를 갖습니다.Values that represent the DT_DBTIMESTAMP data type include three digits for fractional seconds. DT_DBTIME2, DT_DBTIMESTAMP2 및 DT_DBTIMESTAMPOFFSET 데이터 형식을 나타내는 값의 경우 소수 자릿수 초의 자릿수는 열의 데이터 형식에 대해 지정된 소수 자릿수에 해당합니다.For values that represent the DT_DBTIME2, DT_DBTIMESTAMP2, and DT_DBTIMESTAMPOFFSET data types, the number of digits for fractional seconds corresponds to the scale specified for the column's data type. ISO 8601 형식에 대한 자세한 내용은 Date and Time Formats을 참조하십시오.For more information about ISO 8601 formats, see Date and Time Formats. 데이터 형식에 대한 자세한 내용은 Integration Services Data Types을 참조하세요.For more information about data types, see Integration Services Data Types.

  10. 확인을 클릭합니다.Click OK.

데이터 흐름 탭Data Flow Taps

런타임에 패키지의 데이터 흐름 경로에서 데이터 탭을 추가하고 데이터 탭의 출력을 외부 파일에 전달할 수 있습니다.You can add a data tap on a data flow path of a package at runtime and direct the output from the data tap to an external file. 이 기능을 사용하려면 프로젝트 배포 모델을 사용하여 SSIS 프로젝트를 SSIS 서버에 배포해야 합니다.To use this feature, you must deploy your SSIS project using the project deployment model to an SSIS Server. 서버에 패키지를 배포한 후에는 패키지를 실행하기 전에 SSISDB 데이터베이스에 대해 T-SQL 스크립트를 실행하여 데이터 탭을 추가해야 합니다.After you deploy the package to the server, you need to execute T-SQL scripts against the SSISDB database to add data taps before executing the package. 다음은 예제 시나리오입니다.Here is a sample scenario:

  1. catalog.create_execution(SSISDB 데이터베이스) 저장 프로시저를 사용하여 패키지의 실행 인스턴스를 만듭니다.Create an execution instance of a package by using the catalog.create_execution (SSISDB Database) stored procedure.

  2. catalog.add_data_tap 또는 catalog.add_data_tap_by_guid 저장 프로시저를 사용하여 데이터 탭을 추가합니다.Add a data tap by using either catalog.add_data_tap or catalog.add_data_tap_by_guid stored procedure.

  3. catalog.start_execution(SSISDB 데이터베이스)을 사용하여 패키지의 실행 인스턴스를 시작합니다.Start the execution instance of the package by using the catalog.start_execution (SSISDB Database).

    다음은 위의 시나리오에 설명된 단계를 수행하는 예제 SQL 스크립트입니다.Here is a sample SQL script that performs the steps described in the above scenario:


Declare @execid bigint  
EXEC [SSISDB].[catalog].[create_execution] @folder_name=N'ETL Folder', @project_name=N'ETL Project', @package_name=N'Package.dtsx', @execution_id=@execid OUTPUT  
EXEC [SSISDB].[catalog].add_data_tap @execution_id = @execid, @task_package_path = '\Package\Data Flow Task', @dataflow_path_id_string = 'Paths[Flat File Source.Flat File Source Output]', @data_filename = 'output.txt'  
EXEC [SSISDB].[catalog].[start_execution] @execid  

create_execution 저장 프로시저의 폴더 이름, 프로젝트 이름 및 패키지 이름 매개 변수는 Integration Services 카탈로그의 폴더, 프로젝트 및 패키지 이름에 해당합니다.The folder name, project name, and package name parameters of the create_execution stored procedure correspond to the folder, project, and package names in the Integration Services catalog. 다음 그림에 표시된 것처럼 폴더, 프로젝트 및 패키지 이름을 가져와서 SQL Server Management Studio에서 create_execution 호출을 사용할 수 있습니다.You can get the folder, project, and package names to use in the create_execution call from the SQL Server Management Studio as shown in the following image. 여기에 SSIS 프로젝트가 나타나지 않으면 프로젝트를 SSIS 서버에 아직 배포하지 않았을 수 있습니다.If you do not see your SSIS project here, you may not have deployed the project to SSIS server yet. Visual Studio에서 SSIS 프로젝트를 마우스 오른쪽 단추로 클릭하고 배포를 클릭하여 예상되는 SSIS 서버에 프로젝트를 배포합니다.Right-click on SSIS project in Visual Studio and click Deploy to deploy the project to the expected SSIS server.

SQL 문을 입력하는 대신 다음 단계를 수행하여 실행 패키지 스크립트를 생성할 수 있습니다.Instead of typing the SQL statements, you can generate the execute package script by performing the following steps:

  1. Package.dtsx 를 마우스 오른쪽 단추로 클릭하고 실행을 클릭합니다.Right-click Package.dtsx and click Execute.

  2. 스크립트 도구 모음 단추를 클릭하여 스크립트를 생성합니다.Click Script toolbar button to generate the script.

  3. 이제 start_execution을 호출하기 전에 add_data_tap 문을 추가합니다.Now, add the add_data_tap statement before the start_execution call.

    add_data_tap 저장 프로시저의 task_package_path 매개 변수는 Visual Studio 데이터 흐름 태스크의 PackagePath 속성에 해당합니다.The task_package_path parameter of add_data_tap stored procedure corresponds to the PackagePath property of the data flow task in Visual Studio. Visual Studio에서 데이터 흐름 태스크를 마우스 오른쪽 단추로 클릭하고 속성 을 클릭하여 속성 창을 시작합니다.In Visual Studio, right-click the Data Flow Task, and click Properties to launch the Properties window. PackagePath 속성 값을 확인하여 add_data_tap 저장 프로시저 호출에 대한 task_package_path 매개 변수 값으로 사용합니다.Note the value of the PackagePath property to use it as a value for the task_package_path parameter for add_data_tap stored procedure call.

    add_data_tap 저장 프로시저의 dataflow_path_id_string 매개 변수는 데이터 탭을 추가할 데이터 흐름 경로의 IdentificationString 속성에 해당합니다.The dataflow_path_id_string parameter of add_data_tap stored procedure corresponds to the IdentificationString property of the data flow path to which you want to add a data tap. dataflow_path_id_string을 가져오려면 데이터 흐름 경로(데이터 흐름의 태스크 사이에 있는 화살표)를 클릭하고 속성 창에서 IdentificationString 속성 값을 확인합니다.To get the dataflow_path_id_string, click the data flow path (arrow between tasks in the data flow), and note the value of the IdentificationString property in the Properties window.

    스크립트를 실행 하면 출력 파일에 저장 됩니다 <프로그램 파일 > \Microsoft SQL Server\110\DTS\DataDumps 합니다.When you execute the script, the output file is stored in <Program Files>\Microsoft SQL Server\110\DTS\DataDumps. 해당 이름을 가진 파일이 이미 있으면 접미사(예: output[1].txt)로 새 파일이 만들어집니다.If a file with the name already exists, a new file with a suffix (for example: output[1].txt) is created.

    앞에서 설명한 대로 add_data_tap 저장 프로시저를 사용하는 대신 catalog.add_data_tap_by_guid저장 프로시저를 사용할 수도 있습니다.As mentioned earlier, you can also use catalog.add_data_tap_by_guidstored procedure instead of using add_data_tap stored procedure. 이 저장 프로시저는 task_package_path 대신 데이터 흐름 태스크의 ID를 매개 변수로 사용합니다.This stored procedure takes the ID of data flow task as a parameter instead of task_package_path. Visual Studio의 속성 창에서 데이터 흐름 태스크의 ID를 가져올 수 있습니다.You can get the ID of data flow task from the properties window in Visual Studio.

데이터 탭 제거Removing a data tap

catalog.remove_data_tap 저장 프로시저를 사용하여 실행을 시작하기 전에 데이터 탭을 제거할 수 있습니다.You can remove a data tap before starting the execution by using the catalog.remove_data_tap stored procedure. 이 저장 프로시저는 add_data_tap 저장 프로시저의 출력으로 가져올 수 있는 데이터 탭의 ID를 매개 변수로 사용합니다.This stored procedure takes the ID of data tap as a parameter, which you can get as an output of the add_data_tap stored procedure.


DECLARE @tap_id bigint  
EXEC [SSISDB].[catalog].add_data_tap @execution_id = @execid, @task_package_path = '\Package\Data Flow Task', @dataflow_path_id_string = 'Paths[Flat File Source.Flat File Source Output]', @data_filename = 'output.txt' @data_tap_id=@tap_id OUTPUT  
EXEC [SSISDB].[catalog].remove_data_tap @tap_id  

모든 데이터 탭 나열Listing all data taps

catalog.execution_data_taps 뷰를 사용하여 모든 데이터 탭을 나열할 수도 있습니다.You can also list all the data taps by using the catalog.execution_data_taps view. 다음 예에서는 사양 실행 인스턴스(ID: 54)의 데이터 탭을 추출합니다.The following example extracts data taps for a specification execution instance (ID: 54).

select * from [SSISDB].[catalog].execution_data_taps where execution_id=@execid  

성능 고려 사항Performance consideration

자세한 로깅 수준을 사용하도록 설정하고 데이터 탭을 추가하면 데이터 통합 솔루션에서 수행되는 I/O 작업이 증가합니다.Enabling verbose logging level and adding data taps increase the I/O operations performed by your data integration solution. 따라서 문제 해결을 위해서만 데이터 탭을 추가하는 것이 좋습니다.Hence, we recommend that you add data taps only for troubleshooting purposes

비디오Video

TechNet 비디오 에서는 프로그래밍 방식으로 패키지를 디버깅하고 런타임에 일부 결과를 캡처하는 데 도움이 되도록 SQL Server 2012 SSISDB 카탈로그에 데이터 탭을 추가/사용하는 방법을 보여 줍니다.This video on TechNet demonstrates how to add/use data taps in SQL Server 2012 SSISDB catalog that help with debugging packages programmatically and capturing the partial results at the runtime. 이러한 데이터 탭을 나열/제거하는 방법과 함께 SSIS 패키지의 데이터 탭을 사용하기 위한 최선의 구현 방법에 대해서도 설명합니다.It also discusses how to list/ remove these data taps and best practices for using data taps in SSIS packages.

참고 항목See Also

데이터 오류 처리Error Handling in Data