catalog.add_data_tap
실행 패키지에 대한 패키지 데이터 흐름에서 구성 요소 출력에 데이터 탭을 추가합니다.
구문
add_data_tap [ @execution_id = ] execution_id
[ @task_package_path = ] task_package_path
[ @dataflow_path_id_string = ] dataflow_path_id_string
[ @data_filename = ] data_filename
[ @max_rows = ] max_rows
[ @data_tap_id = ] data_tap_id
OUTPUT
인수
[ @execution\_id = ] execution_id
패키지를 포함한 실행의 실행 ID입니다. execution_id는 bigint입니다.[ @task\_package\_path = ] task_package_path
데이터 흐름 태스크의 패키지 경로입니다. 데이터 흐름 태스크의 PackagePath 속성이 이 경로를 지정합니다. 경로는 대/소문자를 구분합니다. 패키지 경로를 찾으려면 SQL Server Data Tools에서 데이터 흐름 태스크를 마우스 오른쪽 단추로 클릭하고 속성을 클릭합니다. PackagePath 속성이 속성 창에 표시됩니다.task_package_path는 nvarchar(max)입니다.
[ @dataflow\_path\_id\_string = ] dataflow_path_id_string
데이터 흐름 경로의 ID 문자열입니다. 경로는 두 개의 데이터 흐름 구성 요소를 연결합니다. 경로에 대한 IdentificationString 속성이 이 문자열을 지정합니다.ID 문자열을 찾으려면 SQL Server Data Tools에서 두 데이터 흐름 구성 요소 사이의 경로를 마우스 오른쪽 단추로 클릭하고 속성을 클릭합니다. IdentificationString 속성이 속성 창에 표시됩니다.
dataflow_path_id_string은 nvarchar(4000)입니다.
[ @data\_filename = ] data_filename
탭 데이터를 저장하는 파일의 이름입니다. 데이터 흐름 태스크가 Foreach 루프 또는 For 루프 컨테이너 내부에서 실행되는 경우 각 루프 반복에 대한 탭 데이터가 개별 파일에 저장됩니다. 각 파일은 반복에 해당하는 번호가 접두사로 붙습니다.기본적으로 파일은 <drive>:\Program Files\Microsoft SQL Server\110\DTS\DataDumps 폴더에 저장됩니다.
data_filename은 nvarchar(4000)입니다.
[ @max\_rows = ] max_rows
데이터 탭 도중 캡처하는 행 수입니다. 이 값을 지정하지 않으면 모든 행이 캡처됩니다. max_rows는 int입니다.[ @data\_tap\_id = ] data_tap_id
데이터 탭의 ID를 반환합니다. data_tap_id는 bigint입니다.
예
다음 예에서는 데이터 흐름 태스크 \Package\Data Flow Task의 데이터 흐름 경로 'Paths[OLE DB Source.OLE DB Source Output]에 데이터 탭을 만듭니다. 탭 데이터는 DataDumps 폴더(<drive>:\Program Files\Microsoft SQL Server\110\DTS\DataDumps)의 output0.txt 파일에 저장됩니다.
Declare @execution_id bigint
Exec SSISDB.Catalog.create_execution @folder_name='Packages',@project_name='SSISPackages', @package_name='Package.dtsx',@reference_id=Null, @use32bitruntime=False, @execution_id=@execution_id OUTPUT
Exec SSISDB.Catalog.set_execution_parameter_value @execution_id,50, 'LOGGING_LEVEL', 0
Exec SSISDB.Catalog.add_data_tap @execution_id, @task_package_path='\Package\Data Flow Task', @dataflow_path_id_string = 'Paths[OLE DB Source.OLE DB Source Output]', @data_filename = 'output0.txt'
Exec SSISDB.Catalog.start_execution @execution_id
설명
데이터 탭을 추가하려면 실행 인스턴스가 생성됨 상태(catalog.operations(SSISDB 데이터베이스) 뷰의 status 열 값 1에 해당)여야 합니다. 실행 인스턴스를 실행하면 상태 값이 변경됩니다. catalog.create_execution(SSISDB 데이터베이스)을 호출하여 실행을 만들 수 있습니다.
다음은 add_data_tap 저장 프로시저에 대한 고려 사항입니다.
실행에 부모 패키지 하나와 자식 패키지 하나 이상이 포함된 경우 데이터 탭을 수행하려는 각 패키지에 대해 데이터 탭을 추가해야 합니다.
패키지에 이름이 같은 데이터 흐름 태스크가 두 개 이상 포함되어 있는 경우 task_package_path는 탭된 구성 요소 출력이 포함된 데이터 흐름 태스크를 고유하게 식별합니다.
추가한 데이터 탭은 패키지 실행 전에는 유효성이 검사되지 않습니다.
데이터 탭 도중에 캡처되는 행 수를 제한하여 대용량 데이터 파일이 생성되지 않도록 하는 것이 좋습니다. 저장 프로시저가 실행되는 컴퓨터에 데이터 파일을 위한 저장 공간이 부족한 경우 패키지 실행이 중지되고 오류 메시지가 로그에 기록됩니다.
add_data_tap 저장 프로시저를 실행하면 패키지의 성능에 영향을 미칩니다. 이 저장 프로시저는 데이터 문제 해결을 위해서만 실행하는 것이 좋습니다.
탭 데이터가 저장되는 파일에 액세스하려면 저장 프로시저가 실행되는 컴퓨터에 대한 관리자여야 합니다. 또한 해당 데이터 탭이 있는 패키지가 포함된 실행을 시작한 사용자여야 합니다.
반환 코드
0(성공)
저장 프로시저가 실패하면 오류를 반환합니다.
결과 집합
없음
사용 권한
이 저장 프로시저를 실행하려면 다음 권한 중 하나가 필요합니다.
실행 인스턴스에 대한 MODIFY 권한
ssis_admin 데이터베이스 역할의 멤버 자격
sysadmin 서버 역할의 멤버 자격
오류 및 경고
다음 목록에서는 저장 프로시저 실패 조건을 설명합니다.
사용자에게 MODIFY 권한이 없습니다.
지정된 패키지의 지정 구성 요소에 대한 데이터 탭이 이미 추가되었습니다.
캡처할 행 수에 지정된 값이 잘못되었습니다.
외부 리소스
rafael-salas.com의 블로그 항목 - SSIS 2012: 데이터 탭 살펴보기