다음을 통해 공유


Integration Service(SSIS) 로깅

적용 대상: SQL Server Azure Data Factory의 SSIS Integration Runtime

SQL Server Integration Services에는 패키지, 컨테이너 및 태스크에서의 로깅 구현을 위해 사용할 수 있는 로그 공급자가 포함됩니다. 로깅을 사용하면 패키지에 대한 런타임 정보를 캡처하여 패키지가 실행 될 때마다 감사하고 문제를 해결할 수 있습니다. 예를 들어 로그는 패키지를 실행한 운영자의 이름과 패키지가 시작되고 완료된 시간을 캡처할 수 있습니다.

Integration Services 서버에서 패키지 실행 중에 발생하는 로깅 범위를 구성할 수 있습니다. 자세한 내용은 SSIS 서버에서 패키지 실행에 대한 로깅 설정를 참조하십시오.

dtexec 명령 프롬프트 유틸리티를 사용하여 패키지를 실행할 때 로깅을 포함할 수도 있습니다. 로깅을 지원하는 명령 프롬프트 인수에 대한 자세한 내용은 dtexec 유틸리티를 참조하세요.

SQL Server Data Tools에서 로깅 구성

로그는 패키지와 연결되며 패키지 수준에서 구성됩니다. 패키지의 각 태스크 또는 컨테이너는 모든 패키지 로그에 정보를 기록할 수 있습니다. 패키지 자체가 아닌 경우에도 패키지의 작업 및 컨테이너를 로깅에 사용할 수 있습니다. 예를 들어 부모 패키지에 대한 로깅을 사용하도록 설정하지 않고 SQL 실행 태스크에서 로깅을 사용하도록 설정할 수 있습니다. 패키지, 컨테이너 또는 태스크는 여러 로그에 쓸 수 있습니다. 패키지에 대해서만 로깅을 사용하도록 설정하거나 패키지에 포함된 개별 작업 또는 컨테이너에 대한 로깅을 사용하도록 선택할 수 있습니다.

패키지에 로그를 추가할 때 로그 공급자와 로그의 위치를 선택합니다. 로그 공급자는 로그 데이터의 형식을 지정합니다. 예를 들어, SQL Server 데이터베이스나 텍스트 파일입니다.

Integration Services에는 다음 로그 공급자가 포함됩니다.

  • 쉼표로 구분된 값(CSV) 형식의 ASCII 텍스트 파일에 로그 항목을 기록하는 텍스트 파일 로그 공급자입니다. 이 공급자의 기본 파일 이름 확장명은 .log입니다.

  • SQL Server Profiler 로그 공급자는 SQL Server Profiler를 사용하여 볼 수 있는 추적을 기록합니다. 이 공급자의 기본 파일 이름 확장명은 .trc입니다.

    참고 항목

    64비트 모드로 실행되는 패키지에서는 SQL Server Profiler 로그 공급자를 사용할 수 없습니다.

  • SQL Server 데이터베이스의 sysssislog 테이블에 로그 항목을 쓰는 SQL Server 로그 공급자입니다. master 또는 msdb와 같은 시스템 데이터베이스에 로그하는 경우 성능이 저하될 수 있습니다. Integration Services 로깅을 위한 별도의 데이터베이스를 만드는 것이 좋습니다.

  • 로컬 컴퓨터의 Windows 이벤트 로그에서 애플리케이션 로그에 항목을 쓰는 Windows 이벤트 로그 공급자입니다.

  • XML 파일에 로그 파일을 쓰는 XML 파일 로그 공급자입니다. 이 공급자의 기본 파일 이름 확장명은 .xml입니다.

패키지에 로그 공급자를 추가하거나 프로그래밍 방식으로 로깅을 구성하는 경우 SSIS 디자이너가 SSIS 로그 구성 대화 상자에 표시하는 이름을 사용하는 대신 ProgID 또는 ClassID를 사용하여 로그 공급자를 식별할 수 있습니다.

다음 테이블에서는 Integration Services에 포함된 로그 공급자에 대한 ProgID 및 ClassID와 로그 공급자가 쓰는 로그의 위치를 나열합니다.

로그 공급자 ProgID ClassID 위치
텍스트 파일 DTS.LogProviderTextFile {0A039101-ACC1-4E06-943F-279948323883} 텍스트 파일의 경로는 로그 공급자가 사용하는 파일 연결 관리자가 지정합니다.
SQL Server Profiler DTS.LogProviderSQLProfiler {E93F6300-AE0C-4916-A7BF-A8D0CE12C77A} 로그 공급자가 사용하는 파일 연결 관리자는 SQL Server Profiler에서 사용하는 파일의 경로를 지정합니다.
SQL Server DTS.LogProviderSQLServer {94150B25-6AEB-4C0D-996D-D37D1C4FDEDA} 로그 공급자가 사용하는 OLE DB 연결 관리자는 로그 항목이 있는 sysssislog 테이블을 포함하는 SQL Server 데이터베이스를 지정합니다.
Windows 이벤트 로그 DTS.LogProviderEventLog {071CC8EB-C343-4CFF-8D58-564B92FCA3CF} Windows 이벤트 뷰어 애플리케이션 로그에는 Integration Services 로그 정보가 포함됩니다.
XML 파일 DTS.LogProviderXMLFile {440945A4-2A22-4F19-B577-EAF5FDDC5F7A} XML 파일의 경로는 로그 공급자가 사용하는 파일 연결 관리자가 지정합니다.

사용자 지정 로그 공급자를 만들 수도 있습니다. 자세한 내용은 사용자 지정 로그 공급자 만들기를 참조하세요.

패키지의 로그 공급자는 패키지의 로그 공급자 컬렉션의 멤버입니다. SSIS 디자이너를 사용하여 패키지를 만들고 로깅을 구현하는 경우 SSIS 디자이너의 패키지 탐색기 탭에서 로그 공급자 폴더의 컬렉션 멤버 목록을 확인할 수 있습니다.

로그 공급자에 대한 이름과 설명을 제공하고 로그 공급자가 사용하는 연결 관리자를 지정하여 로그 공급자를 구성합니다. SQL Server 로그 공급자는 OLE DB 연결 관리자를 사용합니다. 텍스트 파일, SQL Server Profiler 및 XML 파일 로그 공급자는 모두 파일 연결 관리자를 사용합니다. Windows 이벤트 로그 공급자는 Windows 이벤트 로그에 직접 쓰기 때문에 연결 관리자를 사용하지 않습니다. 자세한 내용은 OLE DB Connection ManagerFile Connection Manager를 참조하세요.

로깅 사용자 지정

이벤트 또는 사용자 지정 메시지의 로깅을 사용자 지정하기 위해 Integration Services는 로그 항목에 포함할 일반적으로 기록되는 정보의 스키마를 제공합니다. Integration Services 로그 스키마는 기록할 수 있는 정보를 정의합니다. 로그 스키마에서 요소를 선택하여 각 로그 항목으로 사용할 수 있습니다.

패키지 및 패키지에 포함된 컨테이너와 태스크는 같은 정보를 로깅할 필요가 없으며 같은 패키지나 컨테이너 내에 있는 태스크가 서로 다른 정보를 로깅할 수 있습니다. 예를 들어 패키지는 시작할 때 작업자 정보를 로깅하고, 한 태스크는 태스크가 실패한 컨테이너 또는 태스크 이름을 로깅하며, 다른 태스크는 오류가 발생한 시각을 로깅할 수 있습니다. 패키지와 해당 컨테이너 및 태스크가 여러 로그를 사용하는 경우 모든 로그에 동일한 정보가 기록됩니다.

필요에 따라 로깅할 이벤트 및 각 이벤트에 대해 로깅할 정보를 지정하여 로깅 수준을 선택할 수 있습니다. 일부 이벤트는 다른 이벤트보다 더 유용한 정보를 제공할 수 있습니다. 예를 들어 PreExecute 이벤트에 대한 컴퓨터 및 연산자 이름만 기록하지만 오류 이벤트에 사용 가능한 모든 정보를 기록할 수 있습니다.

로그 파일이 많은 양의 디스크 공간을 사용하지 못하게 하거나 과도한 로깅을 방지하여 성능을 저하시킬 수 있도록 로그할 특정 이벤트 및 정보 항목을 선택하여 로깅을 제한할 수 있습니다. 예를 들어 각 오류에 대한 날짜 및 컴퓨터 이름만 캡처하도록 로그를 구성할 수 있습니다.

SSIS 디자이너에서 SSIS 로그 구성 대화 상자를 사용하여 로깅 옵션을 정의할 수 있습니다.

로그 스키마

다음 테이블에서는 요소의 로그 스키마를 설명합니다.

요소 설명
컴퓨터 로그 이벤트가 발생한 컴퓨터의 이름입니다.
연산자 패키지를 시작한 사용자의 ID입니다.
SourceName 로그 이벤트가 발생한 컨테이너 또는 태스크의 이름입니다.
SourceID 패키지의 고유 식별자입니다. For 루프, Foreach 루프 또는 시퀀스 컨테이너 또는 로그 이벤트가 발생한 작업입니다.
ExecutionID 패키지 실행 인스턴스의 GUID입니다.

참고: 단일 패키지를 실행하면 ExecutionID 요소에 대한 값이 다른 로그 항목이 생성될 수 있습니다. 예를 들어 SQL Server Data Tools에서 패키지를 실행할 때 유효성 검사 단계에서는 SQL Server Data Tools에 해당하는 ExecutionID 요소를 사용하여 로그 항목을 만들 수 있습니다. 그러나 실행 단계에서는 dtshost.exe 해당하는 ExecutionID 요소를 사용하여 로그 항목을 만들 수 있습니다. 또 다른 예로 패키지 실행 태스크가 포함된 패키지를 실행하면 이러한 각 태스크가 자식 패키지를 실행합니다. 이러한 자식 패키지는 부모 패키지에서 만든 로그 항목과 다른 ExecutionID 요소가 포함된 로그 항목을 만들 수 있습니다.
MessageText 로그 항목과 연결된 메시지입니다.
DataBytes 로그 항목과 관련된 바이트 배열입니다. 이 필드의 의미는 로그 항목에 따라 다릅니다.

다음 표에서는 SSIS 로그 구성 대화 상자의 세부 정보 탭에서 사용할 수 없는 로그 스키마의 세 가지 추가 요소를 설명합니다.

요소 설명
StartTime 컨테이너 또는 태스크가 실행하기 시작하는 시간입니다.
EndTime 컨테이너 또는 태스크의 실행이 중지되는 시간입니다.
DataCode 일반적으로 다음과 같이 컨테이너 또는 태스크 실행의 결과를 나타내는 DTSExecResult 열거의 값을 포함하는 선택적 정수 값입니다.

0 - 성공

1 - 오류

2 - 완료됨

3 - 취소됨

로그 항목

Integration Services는 미리 정의된 이벤트에 대한 로그 항목을 지원하고 많은 Integration Services 개체에 대한 사용자 지정 로그 항목을 제공합니다. SSIS 디자이너의 SSIS 로그 구성 대화 상자에는 이러한 이벤트 및 사용자 지정 로그 항목이 나열됩니다.

다음 표에서는 런타임 이벤트가 발생했을 때 로그 항목을 쓰도록 설정할 수 있는 미리 정의된 이벤트에 대해 설명합니다. 이러한 로그 항목은 실행 파일, 패키지 및 패키지에 포함된 태스크 및 컨테이너에 적용됩니다. 로그 항목의 이름은 발생한 런타임 이벤트의 이름, 즉 로그 항목을 쓰도록 만든 이벤트의 이름과 같습니다.

이벤트 설명
OnError 오류가 발생할 때 로그 항목을 기록합니다.
OnExecStatusChanged 디버깅 중에 태스크(컨테이너 제외)가 일시 중단되거나 다시 시작될 때 로그 항목을 기록합니다.
OnInformation 정보 보고를 위한 실행 파일의 유효성 검사 및 실행 중에 로그 항목을 기록합니다.
OnPostExecute 실행 파일이 실행을 완료한 직후에 로그 항목을 기록합니다.
OnPostValidate 실행 파일의 유효성 검사가 끝날 때 로그 항목을 기록합니다.
OnPreExecute 실행 파일이 실행되기 직전에 로그 항목을 기록합니다.
OnPreValidate 실행 파일의 유효성 검사가 시작할 때 로그 항목을 기록합니다.
OnProgress 실행 파일에서 측정 가능한 진행률을 만들 때 로그 항목을 기록합니다.
OnQueryCancel 실행을 취소할 수 있는 태스크 처리 과정의 모든 분기 시점에 로그 항목을 기록합니다.
OnTaskFailed 작업 실패 시 로그 항목을 기록합니다.
OnVariableValueChanged 변수의 값이 변경될 때 로그 항목을 기록합니다.
OnWarning 경고가 발생할 때 로그 항목을 기록합니다.
PipelineComponentTime 각 데이터 흐름 구성 요소에 대해 유효성 검사 및 실행의 각 단계에 대한 로그 항목을 기록합니다. 로그 항목은 각 단계의 처리 시간을 지정합니다.
진단

DiagnosticEx
진단 정보를 제공하는 로그 항목을 기록합니다.

예를 들어 외부 데이터 공급자에 대한 모든 호출 전후에 메시지를 기록할 수 있습니다. 자세한 내용은 패키지 실행을 위한 문제 해결 도구를 참조하세요.

데이터 흐름에서 오류가 발생한 열의 열 이름을 찾으려면 DiagnosticEx 이벤트를 기록합니다. 이 이벤트는 로그에 데이터 흐름 계보 맵을 씁니다. 그런 다음 오류 출력에 의해 캡처된 열 식별자를 사용하여 이 계보 맵에서 열 이름을 조회할 수 있습니다. 자세한 내용은 데이터에서 오류 처리를 참조하세요.

DiagnosticEx 이벤트는 로그 크기를 줄이기 위해 XML 출력에 공백을 유지하지 않습니다. 가독성을 높이기 위해 XML 서식 지정 및 구문 강조를 지원하는 XML 편집기(예: Visual Studio)로 로그를 복사합니다.

참고: SQL Server 로그 공급자를 사용하여 DiagnosticEx 이벤트를 기록하는 경우에는 출력이 잘릴 수 있습니다. SQL Server 로그 공급자의 message 필드는 nvarchar(2048) 형식입니다. 로그가 잘리지 않도록 하려면 DiagnosticEx 이벤트를 기록할 때 다른 로그 공급자를 사용하세요.

패키지 및 많은 작업에는 로깅을 사용하도록 설정할 수 있는 사용자 지정 로그 항목이 있습니다. 예를 들어 메일 보내기 태스크는 태스크가 시작되어 메일 메시지를 보내기 전에 정보를 로깅하는 SendMailTaskBegin 사용자 지정 로그 항목을 제공합니다. 자세한 내용은 사용자 지정된 로깅 메시지를 참조하세요.

패키지 복사본 구분

로그 데이터에는 로그 항목이 속한 패키지의 이름 및 GUID가 포함됩니다. 기존 패키지를 복사하여 새 패키지를 만들면 기존 패키지의 이름과 GUID도 복사됩니다. 따라서 GUID와 이름이 같은 두 개의 패키지가 있을 수 있으므로 로그 데이터의 패키지를 구분하기가 어려울 수 있습니다.

이 모호성을 제거하려면 새 패키지의 이름 및 GUID를 업데이트해야 합니다. SQL Server 데이터 도구(SSDT)에서 ID 속성에서 GUID를 다시 생성하고 속성 창에서 이름 속성 값을 업데이트할 수 있습니다. 프로그래밍 방식으로 또는 dtutil 명령 프롬프트를 사용하여 GUID와 이름을 변경할 수도 있습니다. 자세한 내용은 패키지 속성 설정dtutil 유틸리티를 참조하세요.

부모 로깅 옵션

태스크, For Loop, Foreach Loop 및 시퀀스 컨테이너의 로깅 옵션은 해당하는 패키지 또는 부모 컨테이너와 일치하는 경우가 많습니다. 이 경우 부모 컨테이너에서 로깅 옵션을 상속하도록 구성할 수 있습니다. 예를 들어 SQL 실행 태스크가 포함된 For 루프 컨테이너에서 SQL 실행 태스크는 For 루프 컨테이너에 설정된 로깅 옵션을 사용할 수 있습니다. 부모 로깅 옵션을 사용하려면 컨테이너의 LoggingMode 속성을 UseParentSetting으로 설정합니다. SSDT(SQL Server Data Tools)의 속성 창이나 SSIS 디자이너의 SSIS 로그 구성 대화 상자를 통해 이 속성을 설정할 수 있습니다.

템플릿 로깅

SSIS 로그 구성 대화 상자에서 자주 사용하는 로깅 구성을 템플릿으로 만들어 저장한 다음 여러 패키지에서 사용할 수 있습니다. 이렇게 하면 여러 패키지에 일관된 로깅 전략을 쉽게 적용하고 템플릿을 업데이트한 다음 적용하여 패키지의 로그 설정을 수정할 수 있습니다. 템플릿은 XML 파일에 저장됩니다.

SSIS 로그 구성 대화 상자를 사용하여 로깅을 구성하려면

  1. 패키지 및 패키지에 속한 태스크에 대해 로깅을 사용하도록 설정합니다. 로깅은 패키지, 컨테이너 및 태스크 수준에서 발생할 수 있습니다. 패키지, 컨테이너 및 작업에 대해 다른 로그를 지정할 수 있습니다.

  2. 로그 공급자를 선택하고 패키지에 대한 로그를 추가합니다. 로그는 패키지 수준에서만 만들 수 있으며 태스크 또는 컨테이너는 패키지에 대해 만든 로그 중 하나를 사용해야 합니다. 각 로그는 텍스트 파일, SQL Server Profiler, SQL Server, Windows 이벤트 로그, XML 파일 중 하나의 로그 공급자와 연결됩니다. 자세한 내용은 SQL Server 데이터 도구에서 패키지 로깅 사용을 참조하세요.

  3. 로그에서 캡처하려는 각 이벤트에 대한 이벤트 및 로그 스키마 정보를 선택합니다. 자세한 내용은 저장된 구성 파일을 사용하여 로깅 구성을 참조하세요.

로그 공급자 구성

SSIS 디자이너를 사용하거나 프로그래밍 방식으로 속성을 설정할 수 있습니다.

로그 공급자는 패키지에서 로깅을 구현하는 단계로 만들어지고 구성됩니다.

로그 공급자를 만든 후 SSDT(SQL Server Data Tools)의 속성 창 해당 속성을 보고 수정할 수 있습니다.

이러한 속성을 프로그래밍 방식으로 설정하는 방법에 대한 자세한 내용은 LogProvider 클래스에 대한 설명서를 참조하세요.

데이터 흐름 태스크에 대한 로깅

데이터 흐름 태스크에서는 성능을 모니터링하고 조정하는 데 사용할 수 있는 여러 가지 사용자 지정 로그 항목을 제공합니다. 예를 들어 메모리 누수를 일으킬 수 있는 구성 요소를 모니터링하거나 특정 구성 요소를 실행하는 데 걸리는 시간을 추적할 수 있습니다. 이러한 사용자 지정 로그 항목 및 샘플 로깅 출력 목록은 데이터 흐름 태스크를 참조 하세요.

오류가 발생하는 열의 이름 캡처

데이터 흐름에서 오류 출력을 구성할 때 기본적으로 오류 출력은 오류가 발생한 열의 숫자 식별자만 제공합니다. 자세한 내용은 데이터에서 오류 처리를 참조하세요.

로깅을 사용하도록 설정하고 DiagnosticEx 이벤트를 선택하여 열 이름을 찾을 수 있습니다. 이 이벤트는 로그에 데이터 흐름 계보 맵을 씁니다. 그런 다음 이 계보 맵의 식별자에서 열 이름을 조회할 수 있습니다. DiagnosticEx 이벤트는 로그 크기를 줄이기 위해 XML 출력에 공백을 유지하지 않습니다. 가독성을 높이기 위해 XML 서식 지정 및 구문 강조를 지원하는 XML 편집기(예: Visual Studio)로 로그를 복사합니다.

PipelineComponentTime 이벤트 사용

가장 유용한 사용자 지정 로그 항목은 PipelineComponentTime 이벤트일 수 있습니다. 이 로그 항목은 데이터 흐름의 각 구성 요소가 5가지 주요 처리 단계 각각에 소비하는 시간(밀리초)을 보고합니다. 다음 표에서는 이러한 처리 단계에 대해 설명합니다. Integration Services 개발자는 이러한 단계를 PipelineComponent의 주요 방법으로 인식하게 됩니다.

단계 설명
유효성 검사 구성 요소는 유효한 속성 값 및 구성 설정을 확인합니다.
PreExecute 구성 요소가 데이터 행을 처리하기 전에 일회성 처리를 수행합니다.
PostExecute 컴포넌트는 모든 데이터 행을 처리한 후 일회성 처리를 수행합니다.
ProcessInput 변환 또는 대상 구성 요소는 업스트림 원본 또는 변환이 전달한 데이터의 들어오는 행을 처리합니다.
PrimeOutput 원본 또는 변환 구성 요소는 다운스트림 변환 또는 대상 구성 요소에 전달할 데이터의 버퍼를 채웁니다.

PipelineComponentTime 이벤트를 설정하면 Integration Services는 각 구성 요소가 수행하는 각 처리 단계에 대해 각각 하나씩의 메시지를 기록합니다. 다음 로그 항목은 Integration Services CalculatedColumns 패키지 샘플 로그 메시지의 하위 집합을 보여 줍니다.

The component "Calculate LineItemTotalCost" (3522) spent 356 milliseconds in ProcessInput.

The component "Sum Quantity and LineItemTotalCost" (3619) spent 79 milliseconds in ProcessInput.

The component "Calculate Average Cost" (3662) spent 16 milliseconds in ProcessInput.

The component "Sort by ProductID" (3717) spent 125 milliseconds in ProcessInput.

The component "Load Data" (3773) spent 0 milliseconds in ProcessInput.

The component "Extract Data" (3869) spent 688 milliseconds in PrimeOutput filling buffers on output "OLE DB Source Output" (3879).

The component "Sum Quantity and LineItemTotalCost" (3619) spent 141 milliseconds in PrimeOutput filling buffers on output "Aggregate Output 1" (3621).

The component "Sort by ProductID" (3717) spent 16 milliseconds in PrimeOutput filling buffers on output "Sort Output" (3719).

이러한 로그 항목은 데이터 흐름 태스크의 대부분의 시간이 아래 나열된(내림차순) 단계에 소요되었음을 나타냅니다.

  • "데이터 추출"이라는 OLE DB 원본은 데이터를 로드하는 데 688ms를 소비했습니다.

  • "Calculate LineItemTotalCost"라는 이름의 파생 열 변환은 들어오는 행에 대한 계산을 수행하는 데 356ms를 소비했습니다.

  • "Sum Quantity 및 LineItemTotalCost"라는 이름의 Aggregate 변환은 PrimeOutput에서 141ms, ProcessInput에서 79ms, 총 220ms를 사용하여 계산을 수행하고 데이터를 다음 변환으로 전달했습니다.

SQL Server Data Tools에서 패키지 로깅 사용

이 절차에서는 패키지에 로그를 추가하고, 패키지 수준 로깅을 구성하고, 로깅 구성을 XML 파일에 저장하는 방법을 설명합니다. 패키지 수준에서만 로그를 추가할 수 있지만 패키지가 포함된 컨테이너에서 로깅을 사용하도록 설정하기 위해 패키지에서 로깅을 수행할 필요는 없습니다.

Important

Integration Services 프로젝트를 Integration Services 서버에 배포하는 경우 패키지 실행에 대해 설정한 로깅 수준이 SSDT(SQL Server Data Tools)를 사용하여 구성하는 패키지 로깅을 재정의합니다.

기본적으로 패키지의 컨테이너는 부모 컨테이너와 동일한 로깅 구성을 사용합니다. 개별 컨테이너에 대한 로깅 옵션을 설정하는 방법은 저장된 구성 파일을 사용하여 로깅 구성을 참조하세요.

패키지에서 로깅을 사용하도록 설정하려면

  1. SQL Server Data Tools에서 원하는 패키지가 들어 있는 Integration Services 프로젝트를 엽니다.

  2. SSIS 메뉴에서 로깅을 클릭합니다.

  3. 공급자 유형 목록에서 로그 공급자를 선택한 다음 추가를 클릭합니다.

  4. 구성 열에서 연결 관리자를 선택하거나 <새 연결>을 클릭하여 로그 공급자에 대한 적절한 유형의 연결 관리자를 만듭니다. 선택한 공급자에 따라 다음 연결 관리자 중 하나를 사용합니다.

    • 텍스트 파일에는 파일 연결 관리자를 사용합니다. 자세한 내용은 File Connection Manager를 참조하세요.

    • SQL Server Profiler의 경우 파일 연결 관리자를 사용합니다.

    • SQL Server의 경우 OLE DB 연결 관리자를 사용합니다. 자세한 내용은 OLE DB Connection Manager을 참조하세요.

    • Windows 이벤트 로그의 경우 아무 것도 수행하지 않습니다. SSIS는 자동으로 로그를 만듭니다.

    • XML 파일에는 파일 연결 관리자를 사용합니다.

  5. 패키지에서 사용할 각 로그에 대해 3단계와 4단계를 반복합니다.

    참고 항목

    패키지는 각 형식의 로그를 둘 이상 사용할 수 있습니다.

  6. 필요에 따라 패키지 수준 확인란을 선택하고 패키지 수준 로깅에 사용할 로그를 선택한 다음 세부 정보 탭을 클릭합니다.

  7. 세부 정보 탭에서 이벤트를 선택하여 모든 로그 항목을 기록하거나 이벤트를 선택 취소하여 개별 이벤트를 선택합니다.

  8. 필요에 따라 고급 을 클릭하여 로깅할 정보를 지정합니다.

    참고 항목

    기본적으로 모든 정보가 기록됩니다.

  9. 세부 정보 탭에서 저장을 클릭합니다. 다른 이름으로 저장 대화 상자가 나타납니다. 로깅 구성을 저장할 폴더를 찾고 새 로그 구성의 파일 이름을 입력한 다음 저장을 클릭합니다.

  10. 확인을 클릭합니다.

  11. 업데이트된 패키지를 저장하려면 파일 메뉴에서 선택한 항목 저장을 클릭합니다.

SSIS 로그 구성 대화 상자

SSIS 로그 구성 대화 상자를 사용하여 패키지에 대한 로깅 옵션을 정의합니다.

수행 작업

  1. SSIS 로그 구성 대화 상자 열기

  2. 컨테이너 창에서 옵션 구성

  3. 공급자 및 로그 탭의 옵션 구성

  4. 세부 정보 탭의 옵션 구성

SSIS 로그 구성 대화 상자 열기

SSIS 로그 구성 대화 상자 열려면

  • SSIS 디자이너에서 SSIS 메뉴에서 로깅을 클릭합니다.

컨테이너 창에서 옵션 구성

SSIS 로그 구성 대화 상자의 컨테이너 창을 사용하여 패키지 및 해당 컨테이너를 로깅할 수 있습니다.

옵션

컨테이너
패키지 및 해당 컨테이너에 대해 로깅을 활성화하려면 계층 뷰의 확인란을 선택합니다.

  • 지워지면 컨테이너가 로깅에 사용할 수 없습니다. 선택하여 로깅 활성화.

  • 확인란이 흐리게 표시된 경우에는 해당 컨테이너에서 부모의 로깅 옵션을 사용하는 것입니다. 패키지에 대해서는 이 옵션을 사용할 수 없습니다.

  • 확인란을 선택하면 컨테이너에서 자체 로깅 옵션을 정의합니다.

컨테이너가 흐리게 표시되고 컨테이너에서 로깅 옵션을 설정하려면 해당 확인란을 두 번 클릭합니다. 첫 번째 클릭은 확인란의 선택을 취소하고 두 번째 클릭은 확인란을 선택하여 사용할 로그 공급자를 선택하고 로그할 정보를 선택할 수 있도록 합니다.

공급자 및 로그 탭의 옵션 구성

SSIS 로그 구성 대화 상자의 공급자 및 로그 탭을 사용하여 런타임 이벤트를 캡처하기 위한 로그를 생성 및 구성할 수 있습니다.

옵션

공급자 유형
목록에서 로그 공급자 유형을 선택합니다.

추가
지정한 유형의 로그를 패키지의 로그 공급자 모음에 추가합니다.

이름
확인란을 사용하여 SSIS 로그 구성 대화 상자의 컨테이너 창에서 선택한 컨테이너 또는 작업에 대한 로그를 사용하거나 사용하지 않도록 설정합니다. 이름 필드는 편집할 수 있습니다. 공급자의 기본 이름을 사용하거나 설명이 포함된 고유 이름을 입력합니다.

설명
설명 필드는 편집할 수 있습니다. 로그의 기본 설명을 클릭한 다음 수정합니다.

Configuration
목록에서 기존 연결 관리자를 선택하거나 <새 연결...>을 클릭하여 새 연결 관리자를 만듭니다. 로그 공급자 유형에 따라 OLE DB 연결 관리자 또는 파일 연결 관리자를 구성할 수 있습니다. Microsoft Windows 이벤트 로그에 대한 로그 공급자에는 연결이 필요하지 않습니다.

관련 항목:File OLE DB 연결 관리자 관리자, 파일 연결 관리자

Delete
로그 공급자를 선택한 다음 삭제를 클릭합니다.

세부 정보 탭의 옵션 구성

SSIS 로그 구성 대화 상자의 세부 정보 탭을 사용하여 로깅에 사용할 이벤트와 기록할 정보 세부 정보를 지정할 수 있습니다. 선택한 정보는 패키지의 모든 로그 공급자에 적용됩니다. 예를 들어 SQL Server 인스턴스에 일부 정보와 다른 정보를 텍스트 파일에 쓸 수 없습니다.

옵션

이벤트
로깅할 이벤트를 설정 또는 해제합니다.

설명
이벤트에 대한 설명을 표시합니다.

고급
기록할 이벤트를 선택하거나 지우고 각 이벤트에 대해 기록할 정보를 선택하거나 지웁니다. 기본을 클릭하여 이벤트 목록을 제외한 모든 로깅 세부 정보를 숨깁니다. 로깅에 사용할 수 있는 정보는 다음과 같습니다.

설명
컴퓨터 로깅된 이벤트가 발생한 컴퓨터의 이름입니다.
Operator 패키지를 시작한 사람의 사용자 이름입니다.
SourceName 기록된 이벤트가 발생한 패키지, 컨테이너 또는 태스크의 이름입니다.
SourceID 기록된 이벤트가 발생한 패키지, 컨테이너 또는 태스크의 GUID(전역 고유 식별자)입니다.
ExecutionID 패키지 실행 인스턴스의 GUID(Global Unique Identifier)입니다.
MessageText 로그 항목과 연결된 메시지입니다.
DataBytes 향후 사용을 위해 예약되어 있습니다.

기본
기록할 이벤트를 선택하거나 지웁니다. 이 옵션은 이벤트 목록을 제외한 로깅 세부 정보를 숨깁니다. 이벤트를 선택한 경우 해당 이벤트에 대한 모든 로깅 세부 정보가 기본적으로 선택됩니다. 고급을 클릭하여 모든 로깅 세부 정보를 표시합니다.

로드
로깅 옵션을 설정하기 위해 템플릿으로 사용할 기존 XML 파일을 지정합니다.

저장
구성 세부 정보를 템플릿으로 XML 파일에 저장합니다.

저장된 구성 파일을 사용하여 로깅 구성

이 절차에서는 이전에 저장된 로깅 구성 파일을 로드하여 패키지의 새 컨테이너에 대한 로깅을 구성하는 방법을 설명합니다.

기본적으로 패키지의 모든 컨테이너는 부모 컨테이너와 동일한 로깅 구성을 사용합니다. 예를 들어 Foreach 루프 내의 태스크는 Foreach 루프와 동일한 로깅 구성을 사용합니다.

컨테이너에 대한 로깅을 구성하려면

  1. SQL Server Data Tools에서 원하는 패키지가 들어 있는 Integration Services 프로젝트를 엽니다.

  2. SSIS 메뉴에서 로깅을 클릭합니다.

  3. 패키지 트리 보기를 확장하고 구성할 컨테이너를 선택합니다.

  4. 공급자 및 로그 탭에서 컨테이너에 사용할 로그를 선택합니다.

    참고 항목

    패키지 수준에서만 로그를 만들 수 있습니다. 자세한 내용은 SQL Server 데이터 도구에서 패키지 로깅 사용을 참조하세요.

  5. 세부 정보 탭을 클릭하고 로드를 클릭합니다.

  6. 사용할 로깅 구성 파일을 찾아 열기를 클릭합니다.

  7. 필요에 따라 이벤트 열에서 확인란을 선택하여 기록할 다른 로그 항목을 선택합니다. 고급 을 클릭하여 이 항목에 대해 기록할 정보 유형을 선택합니다.

    참고 항목

    새 컨테이너는 원래 로깅 구성을 만드는 데 사용된 컨테이너에는 사용할 수 없는 추가 로그 항목을 포함할 수 있습니다. 이러한 추가 로그 항목을 기록하려면 수동으로 선택해야 합니다.

  8. 업데이트된 버전의 로깅 구성을 저장하려면 저장을 클릭합니다.

  9. 업데이트된 패키지를 저장하려면 파일 메뉴에서 선택한 항목 저장을 클릭합니다.

SSIS 서버에서 패키지 실행에 대한 로깅 설정

이 항목에서는 Integration Services 서버에 배포한 패키지를 실행할 때 패키지에 대한 로깅 수준을 설정하거나 변경하는 방법을 설명합니다. 패키지를 실행할 때 설정하는 로깅 수준에 따라 SQL Server Data Tools에서 디자인 타임 시 구성하는 패키지 로깅이 재정의됩니다. 자세한 내용은 SQL Server 데이터 도구에서 패키지 로깅 사용을 참조하세요.

서버의 기본 로깅 수준 속성을 확인하고 조정하려면

  1. SQL Server 인스턴스에서 개체 탐색기의 패키지로 이동합니다.

  2. Integration Services 카탈로그를 선택합니다.

  3. SSISDB를 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다.

  4. 카탈로그 속성에서 작업 로그 그룹 상자와 서비스 전체 기본 로깅 수준 항목을 찾습니다.

이 항목에서 설명하는 기본 제공 로깅 수준 중 하나에서 선택하거나 기존 사용자 지정된 로깅 수준을 선택할 수 있습니다. 선택한 로깅 수준은 SSIS 카탈로그에 배포된 모든 패키지에 기본적으로 적용됩니다. 또한 SSIS 패키지를 실행하는 SQL 에이전트 작업 단계에 기본적으로 적용됩니다.

다음 방법 중 하나를 사용하여 개별 패키지에 대한 로깅 수준을 지정할 수도 있습니다. 이 항목에서는 첫 번째 방법에 대해 설명합니다.

  • 패키지 실행 대화 상자를 사용하여 패키지 실행 인스턴스 구성

  • catalog.set_execution_parameter_value(SSISDB 데이터베이스)를 사용하여 실행 인스턴스에 대한 매개 변수 설정

  • 새 작업 단계 대화 상자를 사용하여 패키지 실행에 대한 SQL Server 에이전트 작업 구성

패키지 실행 대화 상자를 사용하여 패키지에 대한 로깅 수준 설정

  1. SQL Server Management Studio의 개체 탐색기에서 패키지로 이동합니다.

  2. 패키지를 마우스 오른쪽 단추로 클릭하고 실행을 선택합니다.

  3. 패키지 실행 대화 상자에서 고급 탭을 선택합니다.

  4. 로깅 수준에서 로깅 수준을 선택합니다. 이 항목에는 사용 가능한 값에 대한 설명이 포함되어 있습니다.

  5. 다른 패키지 구성을 완료한 다음 확인을 클릭하여 패키지를 실행합니다.

로깅 수준 선택

다음 내부 로깅 수준을 사용할 수 있습니다. 기존 사용자 지정된 로깅 수준을 선택할 수도 있습니다. 이 항목에는 사용자 지정된 로깅 수준에 대한 설명이 포함되어 있습니다.

로깅 수준 설명
None 로깅이 꺼져 있습니다. 패키지 실행 상태만 로그됩니다.
Basic 사용자 지정 및 진단 이벤트를 제외한 모든 이벤트가 기록됩니다. 기본값입니다.
RuntimeLineage 데이터 흐름에서 계보 정보를 추적하는 데 필요한 데이터를 수집합니다. 이 계보 정보를 구문 분석하여 작업 간의 계보 관계를 매핑할 수 있습니다. ISV와 개발자가 이 정보로 사용자 지정 계보 매핑 도구를 빌드할 수 있습니다.
성능 성능 통계와 OnError 및 OnWarning 이벤트만 기록됩니다.

실행 성능 보고서에는 패키지 데이터 흐름 구성 요소의 활성 시간 및 총 시간이 표시됩니다. 이 정보는 마지막 패키지 실행의 로깅 수준이 성능 또는 상세 정보로 설정된 경우에 사용할 수 있습니다. 자세한 내용은 Reports for the Integration Services Server을(를) 참조하세요.

catalog.execution_component_phases 보기는 실행의 각 단계에 대한 데이터 흐름 구성 요소의 시작 및 종료 시간을 표시합니다. 이 뷰는 패키지 실행의 로깅 수준이 성능 또는 상세 정보로 설정된 경우에만 이러한 구성 요소에 대한 이 정보를 표시합니다.
자세한 정보 표시 사용자 지정 및 진단 이벤트를 포함하여 모든 이벤트가 기록됩니다.

사용자 지정 이벤트에는 Integration Services 태스크에 의해 기록되는 이벤트가 포함됩니다. 사용자 지정 이벤트에 대한 자세한 내용은 사용자 지정된 로깅 메시지를 참조하세요.

진단 이벤트의 한 예로 DiagnosticEx 이벤트가 있습니다. 패키지 실행 태스크가 자식 패키지를 실행할 때마다 이 이벤트는 자식 패키지에 전달된 매개 변수 값을 캡처합니다.

또한 DiagnosticEx 이벤트는 행 수준 오류가 발생하는 열의 이름을 가져올 수 있습니다. 이 이벤트는 로그에 데이터 흐름 계보 맵을 씁니다. 그런 다음 오류 출력에 의해 캡처된 열 식별자를 사용하여 이 계보 맵에서 열 이름을 조회할 수 있습니다. 자세한 내용은 데이터에서 오류 처리를 참조하세요.

DiagnosticEx에 대한 메시지 열의 값은 XML 텍스트입니다. 패키지 실행에 대한 메시지 텍스트를 보려면 catalog.operation_messages(SSISDB 데이터베이스) 보기를 쿼리합니다. DiagnosticEx 이벤트는 로그 크기를 줄이기 위해 XML 출력에 공백을 유지하지 않습니다. 가독성을 높이기 위해 XML 서식 지정 및 구문 강조를 지원하는 XML 편집기(예: Visual Studio)로 로그를 복사합니다.

catalog.execution_data_statistics 보기는 데이터 흐름 구성 요소가 패키지 실행을 위해 다운스트림 구성 요소로 데이터를 보낼 때마다 행을 표시합니다. 뷰에서 이 정보를 캡처하려면 로깅 수준을 자세히 로 설정해야 합니다.

사용자 지정된 로깅 수준 관리 대화 상자를 사용하여 사용자 지정된 로깅 수준 만들기 및 관리

원하는 통계 및 이벤트만 수집하는 사용자 지정된 로깅 수준을 만들 수 있습니다. 필요에 따라 변수 값, 연결 문자열 및 구성 요소 속성을 포함하는 이벤트의 컨텍스트를 캡처할 수도 있습니다. 패키지를 실행할 때 기본 제공 로깅 수준을 선택할 수 있는 모든 위치에서 사용자 지정된 로깅 수준을 선택할 수 있습니다.

패키지 변수 값을 캡처하려면 변수의 IncludeInDebugDump 속성을 True로 설정해야 합니다.

  1. SQL Server Management Studio에서 사용자 지정된 로깅 수준을 만들고 관리하려면 SSISDB 데이터베이스를 마우스 오른쪽 단추로 클릭하고 사용자 지정된 로깅 수준을 선택하여 사용자 지정된 로깅 수준 관리 대화 상자를 엽니다. 사용자 지정된 로깅 수준 목록에는 기존의 모든 사용자 지정된 로깅 수준이 포함됩니다.

  2. 새 사용자 지정된 로깅 수준을 만들려면만들기를 클릭한 다음 이름 및 설명을 제공합니다. 통계이벤트 탭에서 수집하려는 통계 및 이벤트를 선택합니다. 이벤트 탭에서 필요에 따라 개별 이벤트에 대한 컨텍스트 포함을 선택합니다. 그런 다음 Save를 클릭합니다.

  3. 기존 사용자 지정된 로깅 수준을 업데이트 하려면 목록에서 선택 및 재구성한 다음 저장을 클릭합니다.

  4. 기존 사용자 지정된 로깅 수준을 삭제 하려면 목록에서 선택한 다음 삭제를 클릭합니다.

사용자 지정된 로깅 수준에 대한 권한입니다.

  • SSISDB 데이터베이스의 모든 사용자는 사용자 지정된 로깅 수준을 보고 패키지를 실행할 때 사용자 지정된 로깅 수준을 선택할 수 있습니다.

  • ssis_admin 또는 sysadmin 역할의 사용자만 사용자 지정된 로깅 수준을 만들거나 업데이트하거나 삭제할 수 있습니다.

로깅을 위한 사용자 지정 메시지

SQL Server Integration Services는 패키지 및 많은 작업에 대한 로그 항목을 작성하기 위한 다양한 사용자 지정 이벤트 집합을 제공합니다. 이러한 항목을 사용하여 나중에 분석할 수 있도록 미리 정의된 이벤트 또는 사용자 정의 메시지를 기록하여 실행 진행 상황, 결과 및 문제에 대한 자세한 정보를 저장할 수 있습니다. 예를 들어 대량 삽입이 시작되고 끝나는 시기를 기록하여 패키지가 실행되면 성능 문제를 식별할 수 있습니다.

사용자 지정 로그 항목은 패키지 및 모든 컨테이너 및 작업에 사용할 수 있는 표준 로깅 이벤트 집합과는 다른 항목 집합입니다. 사용자 지정 로그 항목은 패키지의 특정 태스크에 대한 유용한 정보를 캡처하도록 조정되어 있습니다. 예를 들어 SQL 실행 태스크에 대한 사용자 지정 로그 항목 중 하나는 해당 태스크에서 실행한 SQL 문을 로그에 기록합니다.

모든 로그 항목에는 패키지가 시작되고 끝날 때 자동으로 기록되는 로그 항목을 비롯하여 날짜 및 시간 정보가 포함됩니다. 로그 이벤트는 대부분 여러 항목을 로그에 기록합니다. 이는 일반적으로 이벤트에 다른 단계가 있을 때 발생합니다. 예를 들어, ExecuteSQLExecutingQuery 로그 이벤트는 세 가지 항목을 기록합니다. 하나는 작업이 데이터베이스에 연결한 후, 또 하나는 작업이 SQL 문을 준비하기 시작한 후, 마지막 하나는 SQL 문 실행이 완료된 후에 기록됩니다.

다음 Integration Services 개체에는 사용자 지정 로그 항목이 있습니다.

Package(패키지)

대량 삽입 태스크

데이터 흐름 태스크

DTS 2000 작업 실행

프로세스 실행 태스크

SQL 실행 태스크

파일 시스템 태스크

FTP 태스크

메시지 큐 태스크

스크립트 태스크

메일 보내기 태스크

데이터베이스 전송 태스크

오류 메시지 전송 태스크

작업 전송 태스크

로그인 전송 태스크

master 저장 프로시저 전송 태스크

SQL Server 개체 전송 태스크

웹 서비스 태스크

WMI 데이터 판독기 태스크

WMI 이벤트 감시자 태스크

XML 태스크

로그 항목

Package(패키지)

다음 표에서는 패키지에 대한 사용자 지정 로그 항목을 나열합니다.

로그 항목 설명
PackageStart 패키지가 실행되기 시작했음을 나타냅니다. 이 로그 항목은 로그에 자동으로 기록됩니다. 제외할 수 없습니다.
PackageEnd 패키지가 완료되었음을 나타냅니다. 이 로그 항목은 로그에 자동으로 기록됩니다. 제외할 수 없습니다.
진단 동시에 실행할 수 있는 실행 파일 수와 같이 패키지 실행에 영향을 주는 시스템 구성에 대한 정보를 제공합니다.

Diagnostic 로그 항목에는 외부 데이터 공급자에 대한 호출 전후 항목도 포함됩니다.

대량 삽입 태스크

다음 표에서는 대량 삽입 태스크에 대한 사용자 지정 로그 항목을 나열합니다.

로그 항목 설명
DTSBulkInsertTaskBegin 대량 삽입이 시작되었음을 나타냅니다.
DTSBulkInsertTaskEnd 대량 삽입이 완료되었음을 나타냅니다.
DTSBulkInsertTaskInfos 태스크에 대한 설명 정보를 제공합니다.

데이터 흐름 태스크

다음 표에서는 데이터 흐름 태스크에 대한 사용자 지정 로그 항목을 나열합니다.

로그 항목 설명
BufferSizeTuning 데이터 흐름 태스크로 인해 버퍼 크기가 변경되었음을 나타냅니다. 로그 항목은 크기가 변경된 이유를 설명하고 임시 새 버퍼 크기를 나열합니다.
OnPipelinePostEndOfRowset 구성 요소에 ProcessInput 메서드의 마지막 호출에 의해 설정된 행 집합 끝 신호가 제공되었음을 나타냅니다. 입력을 처리하는 데이터 흐름의 각 구성 요소에 대해 항목이 작성됩니다. 항목에는 구성 요소의 이름이 포함됩니다.
OnPipelinePostPrimeOutput 구성 요소가 PrimeOutput 메서드에 대한 마지막 호출을 완료했음을 나타냅니다. 데이터 흐름에 따라 여러 로그 항목을 작성할 수 있습니다. 구성 요소가 원본인 경우 이는 구성 요소가 행 처리를 완료했음을 의미합니다.
OnPipelinePreEndOfRowset 구성 요소에 ProcessInput 메서드의 마지막 호출에 의해 설정된 행 집합 끝 신호를 곧 수신할 것임을 알려줍니다. 입력을 처리하는 데이터 흐름의 각 구성 요소에 대해 항목이 작성됩니다. 항목에는 구성 요소의 이름이 포함됩니다.
OnPipelinePrePrimeOutput 구성 요소가 PrimeOutput 메서드에서 해당 호출을 수신하려고 함을 나타냅니다. 데이터 흐름에 따라 여러 로그 항목을 작성할 수 있습니다.
OnPipelineRowsSent ProcessInput 메서드 호출로 구성 요소 입력에 제공한 행 수를 보고합니다. 로그 항목에는 구성 요소 이름이 포함됩니다.
PipelineBufferLeak 버퍼 관리자가 없어진 후에 버퍼를 활성 상태로 유지하는 모든 구성 요소에 대한 정보를 제공합니다. 즉, 버퍼 리소스가 해제되지 않았으며 메모리 누수의 원인이 될 수 있습니다. 로그 항목은 구성 요소의 이름과 버퍼의 ID를 제공합니다.
PipelineExecutionPlan 데이터 흐름의 실행 계획을 보고합니다. 이를 구성 요소로 전송하는 방법에 대한 정보를 제공합니다. 이 정보는 PipelineExecutionTrees 항목과 함께 태스크에서 발생하는 사항에 대해 설명합니다.
PipelineExecutionTrees 데이터 흐름에서 레이아웃 실행 트리를 보고합니다. 데이터 흐름 엔진의 스케줄러는 트리를 사용하여 데이터 흐름의 실행 계획을 작성합니다.
PipelineInitialization 태스크에 대한 초기화 정보를 제공합니다. 이 정보에는 BLOB 데이터의 임시 스토리지에 사용할 디렉터리, 기본 버퍼 크기 및 버퍼의 행 수가 포함됩니다. 데이터 흐름의 구성에 따라 여러 로그 항목을 작성할 수 있습니다.

DTS 2000 작업 실행

다음 표에서는 DTS 2000 실행 태스크에 대한 사용자 지정 로그 항목을 나열합니다.

로그 항목 설명
ExecuteDTS80PackageTaskBegin 태스크가 DTS 2000 패키지를 실행하기 시작했음을 나타냅니다.
ExecuteDTS80PackageTaskEnd 태스크가 완료되었음을 나타냅니다.

참고: DTS 2000 패키지는 태스크가 종료된 후에도 계속 실행됩니다.
ExecuteDTS80PackageTaskTaskInfo 태스크에 대한 설명 정보를 제공합니다.
ExecuteDTS80PackageTaskTaskResult 태스크가 실행된 DTS 2000 패키지의 실행 결과를 보고합니다.

프로세스 실행 태스크

다음 표에서는 프로세스 실행 태스크에 대한 사용자 지정 로그 항목을 나열합니다.

로그 항목 설명
ExecuteProcessExecutingProcess 태스크가 실행되도록 구성된 실행 파일을 실행하는 프로세스에 대한 정보를 제공합니다.

두 개의 로그 항목이 기록됩니다. 하나는 태스크가 실행되는 실행 파일의 이름과 위치에 대한 정보를 포함하고 다른 것은 실행 파일에서 종료를 기록합니다.
ExecuteProcessVariableRouting 실행 파일의 입력 및 출력으로 라우팅되는 변수에 대한 정보를 제공합니다. stdin(입력), stdout(출력) 및 stderr(오류 출력)에 대한 로그 항목이 기록됩니다.

SQL 실행 태스크

다음 표에서는 SQL 실행 태스크에 대한 사용자 지정 로그 항목을 설명합니다.

로그 항목 설명
ExecuteSQLExecutingQuery SQL 문의 실행 단계에 대한 정보를 제공합니다. 로그 항목은 태스크가 데이터베이스에 대한 연결을 획득할 때, 태스크가 SQL 문을 준비하기 시작할 때, SQL 문의 실행이 완료된 후에 기록됩니다. 준비 단계에 대한 로그 항목에는 태스크에서 사용하는 SQL 문이 포함됩니다.

파일 시스템 태스크

다음 표에서는 파일 시스템 태스크에 대한 사용자 지정 로그 항목을 설명합니다.

로그 항목 설명
FileSystemOperation 태스크를 수행하는 작업을 보고합니다. 로그 항목은 파일 시스템 작업이 시작될 때 작성되며 원본 및 대상에 대한 정보를 포함합니다.

FTP 태스크

다음 표에서는 FTP 태스크에 대한 사용자 지정 로그 항목을 나열합니다.

로그 항목 설명
FTPConnectingToServer 태스크가 FTP 서버에 대한 연결을 시작했음을 나타냅니다.
FTPOperation 태스크에서 수행하는 FTP 작업의 시작 부분과 유형을 보고합니다.

메시지 큐 태스크

다음 표에서는 메시지 큐 태스크에 대한 사용자 지정 로그 항목을 나열합니다.

로그 항목 설명
MSMQAfterOpen 태스크에서 메시지 큐 열기를 완료했음을 나타냅니다.
MSMQBeforeOpen 태스크에서 메시지 큐 열기를 시작했음을 나타냅니다.
MSMQBeginReceive 태스크에서 메시지 받기를 시작했음을 나타냅니다.
MSMQBeginSend 태스크에서 메시지 보내기를 시작했음을 나타냅니다.
MSMQEndReceive 태스크에서 메시지 받기를 완료했음을 나타냅니다.
MSMQEndSend 태스크에서 메시지 보내기를 완료했음을 나타냅니다.
MSMQTaskInfo 태스크에 대한 설명 정보를 제공합니다.
MSMQTaskTimeOut 태스크 시간이 초과되었음을 나타냅니다.

스크립트 태스크

다음 테이블에서는 스크립트 작업에 대한 사용자 지정 로그 항목을 설명합니다.

로그 항목 설명
ScriptTaskLogEntry 스크립트에서 로깅을 구현한 결과를 보고합니다. Dts 객체의 Log 메서드를 호출할 때마다 로그 항목이 기록됩니다. 코드가 실행되면 항목이 작성됩니다. 자세한 정보는 스크립트 작업에서 로깅을 참조하세요.

메일 보내기 태스크

다음 테이블에는 메일 보내기 작업에 대한 사용자 지정 로그 항목이 나와 있습니다.

로그 항목 설명
SendMailTaskBegin 태스크가 전자 메일 메시지를 보내기 시작했음을 나타냅니다.
SendMailTaskEnd 태스크가 전자 메일 메시지 보내기를 완료했음을 나타냅니다.
SendMailTaskInfo 태스크에 대한 설명 정보를 제공합니다.

데이터베이스 전송 태스크

다음 표에서는 데이이터베이스 전송 태스크에 대한 사용자 지정 로그 항목을 나열합니다.

로그 항목 설명
SourceDB 태스크가 복사한 데이터베이스를 지정합니다.
SourceSQLServer 데이터베이스를 복사한 컴퓨터를 지정합니다.

오류 메시지 전송 태스크

다음 표에서는 오류 메시지 전송 태스크에 대한 사용자 지정 로그 항목을 나열합니다.

로그 항목 설명
TransferErrorMessagesTaskFinishedTransferringObjects 태스크에서 오류 메시지 전송을 완료했음을 나타냅니다.
TransferErrorMessagesTaskStartTransferringObjects 태스크가 오류 메시지를 전송하기 시작했음을 나타냅니다.

작업 전송 태스크

다음 표에서는 작업 전송 태스크에 대한 사용자 지정 로그 항목을 나열합니다.

로그 항목 설명
TransferJobsTaskFinishedTransferringObjects 작업이 SQL Server 에이전트 작업 전송을 완료했음을 나타냅니다.
TransferJobsTaskStartTransferringObjects 태스크가 SQL Server 에이전트 작업 전송을 시작했음을 나타냅니다.

로그인 전송 태스크

다음 표에서는 로그인 전송 태스크에 대한 사용자 지정 로그 항목을 나열합니다.

로그 항목 설명
TransferLoginsTaskFinishedTransferringObjects 태스크가 로그인 전송을 완료했음을 나타냅니다.
TransferLoginsTaskStartTransferringObjects 태스크에서 로그인 전송을 시작했음을 나타냅니다.

master 저장 프로시저 전송 태스크

다음 표에서는 Master 저장 프로시저 전송 태스크에 대한 사용자 지정 로그 항목을 나열합니다.

로그 항목 설명
TransferStoredProceduresTaskFinishedTransferringObjects 작업이 master 데이터베이스에 저장된 사용자 정의 저장 프로시저 전송을 완료했음을 나타냅니다.
TransferStoredProceduresTaskStartTransferringObjects 작업이 master 데이터베이스에 저장된 사용자 정의 저장 프로시저를 전송하기 시작했음을 나타냅니다.

SQL Server 개체 전송 태스크

다음 표에서는 SQL Server 개체 전송 태스크에 대한 사용자 지정 로그 항목을 나열합니다.

로그 항목 설명
TransferSqlServerObjectsTaskFinishedTransferringObjects 태스크가 SQL Server 데이터베이스 개체 전송을 완료했음을 나타냅니다.
TransferSqlServerObjectsTaskStartTransferringObjects 태스크에서 SQL Server 데이터베이스 개체 전송을 시작했음을 나타냅니다.

웹 서비스 태스크

다음 표에서는 웹 서비스 작업에 사용할 수 있는 사용자 지정 로그 항목을 나열합니다.

로그 항목 설명
WSTaskBegin 작업이 웹 서비스에 액세스하기 시작했습니다.
WSTaskEnd 작업이 웹 서비스 메서드를 완료했습니다.
WSTaskInfo 태스크에 대한 정보 설명.

WMI 데이터 판독기 태스크

다음 표에서는 WMI 데이터 Reader 작업에 대한 사용자 지정 로그 항목을 나열합니다.

로그 항목 설명
WMIDataReaderGettingWMIData 태스크에서 WMI 데이터 읽기를 시작했음을 나타냅니다.
WMIDataReaderOperation 태스크가 실행된 WQL 쿼리를 보고합니다.

WMI 이벤트 감시자 태스크

다음 표에서는 WMI 이벤트 Watcher 작업에 대한 사용자 지정 로그 항목을 나열합니다.

로그 항목 설명
WMIEventWatcherEventOccurred 태스크에서 모니터링하고 있는 이벤트가 발생했음을 나타냅니다.
WMIEventWatcherTimedout 태스크 시간이 초과되었음을 나타냅니다.
WMIEventWatcherWatchingForWMIEvents 태스크에서 WQL 쿼리 실행을 시작했음을 나타냅니다. 항목에는 쿼리가 포함됩니다.

XML 태스크

다음 테이블에서는 XML 작업에 대한 사용자 지정 로그 항목을 설명합니다.

로그 항목 설명
XMLOperation 태스크에서 수행한 작업에 대한 정보를 제공합니다.

다음 목록에는 로깅 기능과 관련된 태스크를 수행하는 방법을 보여 주는 항목에 대한 링크가 나와 있습니다.