Integration Services(SSIS) 로깅Integration Services (SSIS) Logging

SQL ServerSQL Server Integration ServicesIntegration Services 에는 패키지, 컨테이너 및 태스크에서의 로깅 구현을 위해 사용할 수 있는 로그 공급자가 포함됩니다. Integration ServicesIntegration Services includes log providers that you can use to implement logging in packages, containers, and tasks. 로깅을 사용하면 패키지에 대한 런타임 정보를 캡처하여 패키지가 실행될 때마다 패키지를 감사하고 문제를 해결하는 데 활용할 수 있습니다.With logging, you can capture run-time information about a package, helping you audit and troubleshoot a package every time it is run. 예를 들어 로그를 사용하여 패키지를 실행한 운영자의 이름과 패키지가 시작 및 종료된 시간을 캡처할 수 있습니다.For example, a log can capture the name of the operator who ran the package and the time the package began and finished.

Integration ServicesIntegration Services 서버에서 패키지 실행 중에 발생하는 로깅 범위를 구성할 수 있습니다.You can configure the scope of logging that occurs during a package execution on the Integration ServicesIntegration Services server. 자세한 내용은 Enable Logging for Package Execution on the SSIS Server을 참조하세요.For more information, see Enable Logging for Package Execution on the SSIS Server.

dtexec 명령 프롬프트 유틸리티를 사용하여 패키지 실행할 때도 로깅을 포함할 수 있습니다.You can also include logging when you run a package using the dtexec command prompt utility. 로깅을 지원하는 명령 프롬프트 인수에 대한 자세한 내용은 dtexec Utility를 참조하십시오.For more information about the command prompt arguments that support logging, see dtexec Utility.

SQL Server Data Tools에서 로깅 구성Configure Logging in SQL Server Data Tools

로그는 패키지와 연결되며 패키지 수준에서 구성됩니다.Logs are associated with packages and are configured at the package level. 패키지에 있는 각 태스크나 컨테이너는 패키지 로그에 정보를 로깅할 수 있습니다.Each task or container in a package can log information to any package log. 패키지 자체가 로깅을 사용하도록 설정되지 않았더라도 패키지의 태스크 및 컨테이너는 로깅을 사용하도록 설정될 수 있습니다.The tasks and containers in a package can be enabled for logging even if the package itself is not. 예를 들어 부모 패키지가 로깅을 사용하지 않더라도 SQL 실행 태스크는 로깅을 사용할 수 있습니다.For example, you can enable logging on an Execute SQL task without enabling logging on the parent package. 패키지, 컨테이너 또는 태스크는 여러 로그에 쓸 수 있습니다.A package, container, or task can write to multiple logs. 패키지에만 로깅을 사용하도록 설정하거나 패키지에 포함된 개별 태스크 또는 컨테이너에 로깅을 사용하도록 설정할 수 있습니다.You can enable logging on the package only, or you can choose to enable logging on any individual task or container that the package includes.

패키지에 로그를 추가할 때는 로그 공급자와 로그 위치를 선택합니다.When you add the log to a package, you choose the log provider and the location of the log. 로그 공급자는 SQL ServerSQL Server 데이터베이스 또는 텍스트 파일 같은 로그 데이터 형식을 지정합니다.The log provider specifies the format for the log data: for example, a SQL ServerSQL Server database or text file.

Integration ServicesIntegration Services 에는 다음 로그 공급자가 포함됩니다. includes the following log providers:

  • 텍스트 파일 로그 공급자는 로그 항목을 CSV(쉼표로 구분된 값) 형식으로 ASCII 텍스트 파일에 기록합니다.The Text File log provider, which writes log entries to ASCII text files in a comma-separated value (CSV) format. 이 공급자의 기본 파일 이름 확장명은 .log입니다.The default file name extension for this provider is .log.

  • SQL Server 프로파일러SQL Server Profiler 로그 공급자는 SQL ServerSQL Server Profiler를 사용하여 볼 수 있는 추적을 기록합니다.The SQL Server 프로파일러SQL Server Profiler log provider, which writes traces that you can view using SQL ServerSQL Server Profiler. 이 공급자의 기본 파일 이름 확장명은 .trc입니다.The default file name extension for this provider is .trc.

    참고

    64비트 모드로 실행 중인 패키지에서는 SQL Server 프로파일러SQL Server Profiler 로그 공급자를 사용할 수 없습니다.You cannot use the SQL Server 프로파일러SQL Server Profiler log provider in a package that is running in 64-bit mode.

  • SQL ServerSQL Server 로그 공급자는 데이터베이스의 sysssislog SQL ServerSQL Server 테이블에 로그 항목을 기록합니다.The SQL ServerSQL Server log provider, which writes log entries to the sysssislog table in a SQL ServerSQL Server database.

  • Windows 이벤트 로그 공급자는 로컬 컴퓨터의 Windows 이벤트 로그에서 응용 프로그램 로그에 항목을 기록합니다.The Windows Event log provider, which writes entries to the Application log in the Windows Event log on the local computer.

  • XML 파일 로그 공급자는 로그 파일을 XML 파일로 기록합니다.The XML File log provider, which writes log files to an XML file. 이 공급자의 기본 파일 이름 확장명은 .xml입니다.The default file name extension for this provider is .xml.

    패키지에 로그 공급자를 추가하거나 로깅을 프로그래밍 방식으로 구성하는 경우에는 SSISSSIS 디자이너가 SSIS 로그 구성 대화 상자에 표시하는 이름을 사용하는 대신 ProgID 또는 ClassID를 사용하여 로그 공급자를 지정할 수 있습니다.If you add a log provider to a package or configure logging programmatically, you can use either a ProgID or ClassID to identify the log provider, instead of using the names that SSISSSIS Designer displays in the Configure SSIS Logs dialog box.

    다음 표에는 Integration ServicesIntegration Services 에 포함된 로그 공급자에 대한 ProgID 및 ClassID와 로그 공급자가 작성하는 로그의 위치가 나와 있습니다.The following table lists the ProgID and ClassID for the log providers that Integration ServicesIntegration Services includes, and the location of the logs to which log providers write.

로그 공급자Log provider ProgIDProgID ClassIDClassID 위치Location
텍스트 파일Text file DTS.LogProviderTextFileDTS.LogProviderTextFile {0A039101-ACC1-4E06-943F-279948323883}{0A039101-ACC1-4E06-943F-279948323883} 텍스트 파일의 경로는 로그 공급자가 사용하는 파일 연결 관리자가 지정합니다.The File connection manager that the log provider uses specifies the path of the text file.
SQL Server 프로파일러SQL Server Profiler DTS.LogProviderSQLProfilerDTS.LogProviderSQLProfiler {E93F6300-AE0C-4916-A7BF-A8D0CE12C77A}{E93F6300-AE0C-4916-A7BF-A8D0CE12C77A} SQL Server 프로파일러SQL Server Profiler가 사용하는 파일의 경로는 로그 공급자가 사용하는 파일 연결 관리자가 지정합니다.The File connection manager that the log provider uses specifies the path of the file used by SQL Server 프로파일러SQL Server Profiler.
SQL ServerSQL Server DTS.LogProviderSQLServerDTS.LogProviderSQLServer {94150B25-6AEB-4C0D-996D-D37D1C4FDEDA}{94150B25-6AEB-4C0D-996D-D37D1C4FDEDA} 로그 항목이 포함된 sysssislog 테이블이 들어 있는 SQL ServerSQL Server 데이터베이스는 로그 공급자가 사용하는 OLE DB 연결 관리자가 지정합니다.The OLE DB connection manager that the log provider uses specifies the SQL ServerSQL Server database that contains the sysssislog table with the log entries.
Windows 이벤트 로그Windows Event Log DTS.LogProviderEventLogDTS.LogProviderEventLog {071CC8EB-C343-4CFF-8D58-564B92FCA3CF}{071CC8EB-C343-4CFF-8D58-564B92FCA3CF} Windows 이벤트 뷰어의 응용 프로그램 로그에는 Integration ServicesIntegration Services 응용 프로그램 정보가 들어 있습니다.The Application log in Windows Event Viewer contains the Integration ServicesIntegration Services log information.
XML 파일XML File DTS.LogProviderXMLFileDTS.LogProviderXMLFile {440945A4-2A22-4F19-B577-EAF5FDDC5F7A}{440945A4-2A22-4F19-B577-EAF5FDDC5F7A} XML 파일의 경로는 로그 공급자가 사용하는 파일 연결 관리자가 지정합니다.The File connection manager that the log provider uses specifies the path of the XML file.

사용자 지정 로그 공급자를 만들 수도 있습니다.You can also create custom log providers. 자세한 내용은 Creating a Custom Log Provider를 참조하세요.For more information, see Creating a Custom Log Provider.

패키지의 로그 공급자는 패키지의 로그 공급자 컬렉션의 멤버입니다.The log providers in a package are members of the log providers collection of the package. SSISSSIS 디자이너를 사용하여 패키지를 만들고 로깅을 구현하는 경우 디자이너의 패키지 탐색기 탭에서 로그 공급자 SSISSSIS 폴더의 컬렉션 멤버 목록을 확인할 수 있습니다.When you create a package and implement logging by using SSISSSIS Designer, you can see a list of the collection members in the Log Provider folders on the Package Explorer tab of SSISSSIS Designer.

로그 공급자에 대한 이름 및 설명을 제공하고 로그 공급자에서 사용되는 연결 관리자를 지정하여 로그 공급자를 구성합니다.You configure a log provider by providing a name and description for the log provider and specifying the connection manager that the log provider uses. SQL ServerSQL Server 로그 공급자는 OLE DB 연결 관리자를 사용합니다.The SQL ServerSQL Server log provider uses an OLE DB connection manager. 텍스트 파일, SQL Server 프로파일러SQL Server Profiler및 XML 파일 로그 공급자는 모두 파일 연결 관리자를 사용합니다.The Text File, SQL Server 프로파일러SQL Server Profiler, and XML File log providers all use File connection managers. Windows 이벤트 로그 공급자는 Windows 이벤트 로그에 직접 쓰기 때문에 연결 관리자를 사용하지 않습니다.The Windows Event log provider does not use a connection manager, because it writes directly to the Windows Event log. 자세한 내용은 OLE DB Connection ManagerFile Connection Manager를 참조하세요.For more information, see OLE DB Connection Manager and File Connection Manager.

로깅 사용자 지정Logging Customization

이벤트 또는 사용자 지정 메시지 로깅을 사용자 지정하기 위해 Integration ServicesIntegration Services 는 로그 항목에 포함할 자주 로깅되는 정보를 담은 스키마를 제공합니다.To customize the logging of an event or custom message, Integration ServicesIntegration Services provides a schema of commonly logged information to include in log entries. Integration ServicesIntegration Services 로그 스키마는 로깅할 수 있는 정보를 정의합니다.The Integration ServicesIntegration Services log schema defines the information that you can log. 로그 스키마에서 요소를 선택하여 각 로그 항목으로 사용할 수 있습니다.You can select elements from the log schema for each log entry.

패키지 및 패키지에 포함된 컨테이너와 태스크는 같은 정보를 로깅할 필요가 없으며 같은 패키지나 컨테이너 내에 있는 태스크가 서로 다른 정보를 로깅할 수 있습니다.A package and its containers and tasks do not have to log the same information, and tasks within the same package or container can log different information. 예를 들어 패키지는 시작할 때 작업자 정보를 로깅하고, 한 태스크는 태스크가 실패한 컨테이너 또는 태스크 이름을 로깅하며, 다른 태스크는 오류가 발생한 시각을 로깅할 수 있습니다.For example, a package can log operator information when the package starts, one task can log the source of the task's failure, and another task can log information when errors occur. 패키지 및 패키지에 포함된 컨테이너와 태스크가 여러 로그를 사용하는 경우 같은 정보가 모든 로그에 기록됩니다.If a package and its containers and tasks use multiple logs, the same information is written to all the logs.

필요에 따라 로깅할 이벤트 및 각 이벤트에 대해 로깅할 정보를 지정하여 로깅 수준을 선택할 수 있습니다.You can select a level of logging that suits your needs by specifying the events to log and the information to log for each event. 일부 이벤트가 다른 이벤트보다 더 유용한 정보를 제공하는 경우가 있습니다.You may find that some events provide more useful information than others. 예를 들어 이벤트의 중요성에 따라 PreExecute 이벤트에 대해서는 컴퓨터 및 작업자 이름만 로깅하고 Error 이벤트에 대해서는 모든 사용 가능한 정보를 로깅할 수 있습니다.For example, you might want to log only the computer and operator names for the PreExecute event but all available information for the Error event.

로그 파일이 많은 디스크 공간을 사용하거나 과도한 로깅 작업을 하여 성능이 저하되는 것을 막기 위해 로깅할 특정 이벤트 및 정보 항목을 지정하여 로깅을 제한할 수 있습니다.To prevent log files from using large amounts of disk space, or to avoid excessive logging, which could degrade performance, you can limit logging by selecting specific events and information items to log. 예를 들어 각 오류의 날짜 및 컴퓨터 이름만 캡처하도록 로그를 구성할 수 있습니다.For example, you can configure a log to capture only the date and the computer name for each error.

SSISSSIS 디자이너에서 SSIS 로그 구성 대화 상자를 사용하여 로깅 옵션을 정의할 수 있습니다.In SSISSSIS Designer, you define the logging options by using the Configure SSIS Logs dialog box.

로그 스키마Log Schema

다음 표에서는 로그 스키마의 요소에 대해 설명합니다.The following table describes the elements in the log schema.

요소Element DescriptionDescription
ComputerComputer 로그 이벤트가 발생한 컴퓨터의 이름입니다.The name of the computer on which the log event occurred.
연산자Operator 패키지를 시작한 사용자의 ID입니다.The identity of the user who launched the package.
SourceNameSourceName 로그 이벤트가 발생한 컨테이너 또는 태스크의 이름입니다.The name of the container or task in which the log event occurred.
SourceIDSourceID 로그 이벤트가 발생한 패키지, For Loop, Foreach Loop, 시퀀스 컨테이너 또는 태스크의 고유 식별자입니다.The unique identifier of the package; the For Loop, Foreach Loop, or Sequence container; or the task in which the log event occurred.
ExecutionIDExecutionID 패키지 실행 인스턴스의 GUID입니다.The GUID of the package execution instance.

참고: 단일 패키지를 실행하면 ExecutionID 요소에 대한 여러 값이 포함된 로그 항목이 만들어질 수 있습니다.Note: Running a single package might create log entries with different values for the ExecutionID element. 예를 들어 SQL Server Data ToolsSQL Server Data Tools에서 패키지를 실행하면 유효성 검사 단계에서 SQL Server Data ToolsSQL Server Data Tools에 해당하는 ExecutionID 요소가 포함된 로그 항목이 만들어질 수 있습니다.For example, when you run a package in SQL Server Data ToolsSQL Server Data Tools, the validation phase might create log entries with an ExecutionID element that corresponds to SQL Server Data ToolsSQL Server Data Tools. 그러나 실행 단계에서는 dtshost.exe에 해당하는 ExecutionID 요소가 포함된 로그 항목이 만들어질 수 있습니다.However, the execution phase might create log entries with an ExecutionID element that corresponds to dtshost.exe. 또 Execute Package 태스크가 포함된 패키지를 실행하면 이러한 각 태스크가 자식 패키지를 실행합니다.For another example, when you run a package that contains Execute Package tasks, each of these tasks runs a child package. 이러한 자식 패키지는 부모 패키지에서 만든 로그 항목과 다른 ExecutionID 요소가 포함된 로그 항목을 만들 수 있습니다.These child packages might create log entries that have a different ExecutionID element than the log entries that the parent package creates.
MessageTextMessageText 로그 항목과 연결된 메시지입니다.A message associated with the log entry.
DataBytesDataBytes 로그 항목과 관련된 바이트 배열입니다.A byte array specific to the log entry. 이 필드의 의미는 로그 항목에 따라 다릅니다.The meaning of this field varies by log entry.

다음 표에서는 SSIS 로그 구성 대화 상자의 자세히 탭에서 사용할 수 없는 로그 스키마의 세 가지 추가 요소에 대해 설명합니다.The following table describes three additional elements in the log schema that are not available on the Details tab of the Configure SSIS Logs dialog box.

요소Element DescriptionDescription
StartTimeStartTime 컨테이너 또는 태스크가 실행되기 시작하는 시간입니다.The time at which the container or task starts to run.
EndTimeEndTime 컨테이너 또는 태스크의 실행이 중지되는 시간입니다.The time at which the container or task stops running.
DataCodeDataCode 일반적으로 다음과 같이 컨테이너 또는 태스크 실행의 결과를 나타내는 DTSExecResult 열거의 값을 포함하는 선택적 정수 값입니다.An optional integer value that typically contains a value from the DTSExecResult enumeration that indicates the result of running the container or task:

0 - 성공0 - Success

1 - 실패1 - Failure

2 - 완료2 - Completed

3 - 취소됨3 - Canceled

로그 항목Log Entries

Integration ServicesIntegration Services 는 미리 정의된 이벤트에 대한 로그 항목을 지원하고 여러 Integration ServicesIntegration Services 개체에 대한 사용자 지정 로그 항목을 제공합니다. supports log entries on predefined events and provides custom log entries for many Integration ServicesIntegration Services objects. 디자이너의 SSIS 로그 구성 SSISSSIS 대화 상자에 이러한 이벤트와 사용자 지정 로그 항목이 나열됩니다.The Configure SSIS Logs dialog box in SSISSSIS Designer lists these events and custom log entries.

다음 표에서는 런타임 이벤트가 발생했을 때 로그 항목을 쓰도록 설정할 수 있는 미리 정의된 이벤트에 대해 설명합니다.The following table describes the predefined events that can be enabled to write log entries when run-time events occur. 이러한 로그 항목은 실행 파일과 패키지, 그리고 패키지에 포함된 태스크 및 컨테이너에 적용됩니다.These log entries apply to executables, the package, and the tasks and containers that the package includes. 로그 항목의 이름은 발생한 런타임 이벤트의 이름, 즉 로그 항목을 쓰도록 만든 이벤트의 이름과 같습니다.The name of the log entry is the same as the name of the run-time event that was raised and caused the log entry to be written.

이벤트Events DescriptionDescription
OnErrorOnError 오류가 발생할 때 로그 항목을 기록합니다.Writes a log entry when an error occurs.
OnExecStatusChangedOnExecStatusChanged 태스크(컨테이너가 아님)가 디버깅 중에 일시 중지되거나 재개될 때 로그 항목을 작성합니다.Writes a log entry when a task (not a container) is suspended or resumed during debugging.
OnInformationOnInformation 정보 보고를 위한 실행 파일의 유효성 검사 및 실행 중에 로그 항목을 기록합니다.Writes a log entry during the validation and execution of an executable to report information.
OnPostExecuteOnPostExecute 실행 파일이 실행을 완료한 직후에 로그 항목을 기록합니다.Writes a log entry immediately after the executable has finished running.
OnPostValidateOnPostValidate 실행 파일의 유효성 검사가 완료될 때 로그 항목을 기록합니다.Writes a log entry when the validation of the executable finishes.
OnPreExecuteOnPreExecute 실행 파일이 실행하기 직전에 로그 항목을 기록합니다.Writes a log entry immediately before the executable runs.
OnPreValidateOnPreValidate 실행 파일의 유효성 검사가 시작할 때 로그 항목을 기록합니다.Writes a log entry when the validation of the executable starts.
OnProgressOnProgress 실행 파일이 특정 진행 상태에 도달했을 때 로그 항목을 기록합니다.Writes a log entry when measurable progress is made by the executable.
OnQueryCancelOnQueryCancel 실행을 취소할 수 있는 태스크 처리 과정의 모든 분기 시점에 로그 항목을 기록합니다.Writes a log entry at any juncture in the task processing where it is feasible to cancel execution.
OnTaskFailedOnTaskFailed 태스크가 실패할 때 로그 항목을 기록합니다.Writes a log entry when a task fails.
OnVariableValueChangedOnVariableValueChanged 변수의 값이 변경될 때 로그 항목을 기록합니다.Writes a log entry when the value of a variable changes.
OnWarningOnWarning 경고가 발생할 때 로그 항목을 기록합니다.Writes a log entry when a warning occurs.
PipelineComponentTimePipelineComponentTime 각 데이터 흐름 구성 요소에 대해 유효성 검사 및 실행의 각 단계에 대한 로그 항목을 기록합니다.For each data flow component, writes a log entry for each phase of validation and execution. 로그 항목에서는 각 단계의 처리 시간을 지정합니다.The log entry specifies the processing time for each phase.
진단Diagnostic

DiagnosticExDiagnosticEx
진단 정보를 제공하는 로그 항목을 기록합니다.Writes a log entry that provides diagnostic information.

예를 들어 외부 데이터 공급자에 대한 각 호출 전후의 메시지를 기록할 수 있습니다.For example, you can log a message before and after every call to an external data provider. 자세한 내용은 패키지 실행 문제 해결 도구를 참조하세요.For more information, see Troubleshooting Tools for Package Execution.

데이터 흐름에서 오류가 발생한 열의 열 이름을 찾으려면 DiagnosticEx 이벤트를 기록합니다.Log the DiagnosticEx event when you want to find the column names for columns in the data flow that have errors. 이 이벤트는 로그에 데이터 흐름 계보 맵을 작성합니다.This event writes a data flow lineage map to the log. 그런 다음 오류 출력에 의해 캡처된 열 식별자를 사용하여 이 계보 맵에서 열 이름을 조회할 수 있습니다.You can then look up the column name in this lineage map by using the column identifier captured by an error output. 자세한 내용은 Error Handling in Data를 참조하십시오.For more info, see Error Handling in Data.

DiagnosticEx 이벤트는 로그의 크기를 줄이기 위해 해당 XML 출력에서 공백을 유지하지 않습니다.Note that the DiagnosticEx event does not preserve whitespace in its XML output to reduce the size of the log. 가독성을 높이기 위해 XML 서식 지정 및 구문 강조를 지원하는 XML 편집기(예: Visual Studio)로 로그를 복사합니다.To improve readability, copy the log into an XML editor - in Visual Studio, for example - that supports XML formatting and syntax highlighting.

참고: SQL Server 로그 공급자를 사용하여 DiagnosticEx 이벤트를 기록하는 경우에는 출력이 잘릴 수 있습니다.Note: If you log the DiagnosticEx event with the SQL Server log provider, the output may be truncated. SQL Server 로그 공급자의 message 필드는 nvarchar(2048) 형식입니다.The message field of the SQL Server log provider is of type nvarchar(2048). 로그가 잘리지 않도록 하려면 DiagnosticEx 이벤트를 기록할 때 다른 로그 공급자를 사용하세요.To avoid truncation, use a different log provider when you log the DiagnosticEx event.

패키지 및 여러 태스크에는 로깅을 사용하도록 설정할 수 있는 사용자 지정 로그 항목이 있습니다.The package and many tasks have custom log entries that can be enabled for logging. 예를 들어 메일 보내기 태스크는 태스크가 시작되어 메일 메시지를 보내기 전에 정보를 로깅하는 SendMailTaskBegin 사용자 지정 로그 항목을 제공합니다.For example, the Send Mail task provides the SendMailTaskBegin custom log entry, which logs information when the Send Mail task starts to run, but before the task sends an e-mail message. 자세한 내용은 Custom Messages for Logging를 참조하세요.For more information, see Custom Messages for Logging.

패키지 복사본 구분Differentiating Package Copies

로그 데이터에는 로그 항목이 속하는 패키지의 이름 및 GUID가 포함됩니다.Log data includes the name and the GUID of the package to which the log entries belong. 기존 패키지를 복사하여 새 패키지를 만들 경우 기존 패키지의 이름 및 GUID도 복사됩니다.If you create a new package by copying an existing package, the name and the GUID of the existing package are also copied. 따라서 이름과 GUID가 동일한 두 개의 패키지가 있을 수 있으며 이로 인해 로그 데이터에 있는 패키지를 구분하기가 어려울 수 있습니다.As a result, you may have two packages that have the same GUID and name, making it difficult to differentiate between the packages in the log data.

이러한 혼동을 피하려면 새 패키지의 이름 및 GUID를 업데이트해야 합니다.To eliminate this ambiguity, you should update the name and the GUID of the new packages. SQL Server Data Tools(SSDT)SQL Server Data Tools (SSDT)ID 속성에서 GUID를 다시 생성하고 속성 창에서 Name 속성 값을 업데이트할 수 있습니다.In SQL Server Data Tools(SSDT)SQL Server Data Tools (SSDT), you can regenerate the GUID in the ID property and update the value of the Name property in the Properties window. 또한 GUID 및 이름을 프로그래밍 방식으로 변경하거나 dtutil 명령 프롬프트를 사용하여 변경할 수 있습니다.You can also change the GUID and the name programmatically, or by using the dtutil command prompt. 자세한 내용은 패키지 속성 설정dtutil 유틸리티를 참조하세요.For more information, see Set Package Properties and dtutil Utility.

부모 로깅 옵션Parent Logging Options

태스크, For Loop, Foreach Loop 및 시퀀스 컨테이너의 로깅 옵션은 해당하는 패키지 또는 부모 컨테이너와 일치하는 경우가 많습니다.Frequently, the logging options of tasks and For Loop, Foreach Loop, and Sequence containers match those of the package or a parent container. 이러한 경우 부모 컨테이너에서 로깅 옵션을 상속받도록 구성할 수 있습니다.In that case, you can configure them to inherit their logging options from their parent container. 예를 들어 For Loop 컨테이너에 포함된 SQL 실행 태스크는 For Loop 컨테이너에 설정된 로깅 옵션을 사용할 수 있습니다.For example, in a For Loop container that includes an Execute SQL task, the Execute SQL task can use the logging options that are set on the For Loop container. 부모 로깅 옵션을 사용하려면 컨테이너의 LoggingMode 속성을 UseParentSetting으로 설정합니다.To use the parent logging options, you set the LoggingMode property of the container to UseParentSetting. 속성 SQL Server Data Tools(SSDT)SQL Server Data Tools (SSDT) 창 또는 디자이너의 SSIS 로그 구성 SSISSSIS 대화 상자를 통해 이 속성을 설정할 수 있습니다.You can set this property in the Properties window of SQL Server Data Tools(SSDT)SQL Server Data Tools (SSDT) or through the Configure SSIS Logs dialog box in SSISSSIS Designer.

로깅 템플릿Logging Templates

SSIS 로그 구성 대화 상자에서 자주 사용하는 로깅 구성을 템플릿으로 만들어 저장한 다음 여러 패키지에서 사용할 수 있습니다.In the Configure SSIS Logs dialog box, you can also create and save frequently used logging configurations as templates, and then use the templates in multiple packages. 이렇게 하면 여러 패키지에 대해 일관된 로깅 정책을 적용할 수 있으며 템플릿을 업데이트한 다음 적용하여 여러 패키지에 대한 로그 설정을 쉽게 수정할 수 있습니다.This makes it easy to apply a consistent logging strategy across multiple packages and to modify log settings on packages by updating and then applying the templates. 템플릿은 XML 파일로 저장됩니다.The templates are stored in XML files.

SSIS 로그 구성 대화 상자를 사용하여 로깅을 구성하려면To configure logging using the Configure SSIS Logs dialog box

  1. 패키지 및 패키지에 속한 태스크에 대해 로깅을 사용하도록 설정합니다.Enable the package and its tasks for logging. 로깅은 패키지, 컨테이너 및 태스크 수준에서 발생할 수 있습니다.Logging can occur at the package, the container, and the task level. 패키지, 컨테이너 및 태스크에 대해 서로 다른 로그를 지정할 수 있습니다.You can specify different logs for packages, containers, and tasks.

  2. 로그 공급자를 선택하고 패키지에 대한 로그를 추가합니다.Select a log provider and add a log for the package. 로그는 패키지 수준에서만 만들 수 있으며 태스크나 컨테이너는 패키지에 대해 만들어진 로그 중 하나를 사용해야 합니다.Logs can be created only at the package level, and a task or container must use one of the logs created for the package. 각 로그는 텍스트 파일, SQL Server 프로파일러SQL Server Profiler, SQL ServerSQL Server, Windows 이벤트 로그, XML 파일 중 하나의 로그 공급자와 연결됩니다.Each log is associated with one of the following log providers: Text file, SQL Server 프로파일러SQL Server Profiler, SQL ServerSQL Server, Windows Event Log, or XML file. 자세한 내용은 SQL Server Data Tools에서 패키지 로깅 사용을 참조하세요.For more information, see Enable Package Logging in SQL Server Data Tools.

  3. 로그에서 캡처할 각 이벤트 및 해당 이벤트에 대한 로그 스키마 정보를 선택합니다.Select the events and the log schema information about each event you want to capture in the log. 자세한 내용은 저장된 구성 파일을 사용하여 로깅 구성을 참조하세요.For more information, see Configure Logging by Using a Saved Configuration File.

로그 공급자 구성Configuration of Log Provider

SSISSSIS 디자이너를 사용하거나 프로그래밍 방식으로 속성을 설정할 수 있습니다.You can set properties through SSISSSIS Designer or programmatically.

로그 공급자는 패키지에서 로깅을 구현하는 단계로 생성 및 구성됩니다.A log provider is created and configured as a step in implementing logging in a package.

로그 공급자를 만든 다음에는 SQL Server Data Tools(SSDT)SQL Server Data Tools (SSDT)의 속성 창에서 해당 속성을 보고 수정할 수 있습니다.After you create a log provider, you can view and modify its properties in the Properties window of SQL Server Data Tools(SSDT)SQL Server Data Tools (SSDT).

이러한 속성을 프로그래밍 방식으로 설정하는 방법에 대한 자세한 내용은 LogProvider 클래스에 대한 설명서를 참조하세요.For information about programmatically setting these properties, see the documentation for the LogProvider class.

데이터 흐름 태스크에 대한 로깅Logging for Data Flow Tasks

데이터 흐름 태스크에서는 성능을 모니터링하고 조정하는 데 사용할 수 있는 여러 가지 사용자 지정 로그 항목을 제공합니다.The Data Flow task provides many custom log entries that can be used to monitor and adjust performance. 예를 들어 메모리 손실을 유발할 수 있는 구성 요소를 모니터링하거나 특정 구성 요소를 실행하는 데 소요되는 시간을 추적할 수 있습니다.For example, you can monitor components that might cause memory leaks, or keep track of how long it takes to run a particular component. 이러한 사용자 지정 로그 항목의 목록과 예제 로깅 출력은 Data Flow Task을 참조하십시오.For a list of these custom log entries and sample logging output, see Data Flow Task.

오류가 발생하는 열의 이름 캡처Capture the names of columns in which errors occur

데이터 흐름에서 오류 출력을 구성할 때 오류 출력에서는 기본적으로 오류가 발생한 열의 숫자 식별자만 제공됩니다.When you configure an error output in the data flow, by default the error output provides only the numeric identifier of the column in which the error occurred. 자세한 내용은 Error Handling in Data를 참조하십시오.For more info, see Error Handling in Data.

로깅을 사용하도록 설정하고 DiagnosticEx 이벤트를 선택하여 열 이름을 찾을 수 있습니다.You can find column names by enabling logging and selecting the DiagnosticEx event. 이 이벤트는 로그에 데이터 흐름 계보 맵을 작성합니다.This event writes a data flow lineage map to the log. 그런 다음 이 계보 맵의 식별자를 통해 열 이름을 조회할 수 있습니다.You can then look up the column name from its identifier in this lineage map. DiagnosticEx 이벤트는 로그의 크기를 줄이기 위해 해당 XML 출력에서 공백을 유지하지 않습니다.Note that the DiagnosticEx event does not preserve whitespace in its XML output to reduce the size of the log. 가독성을 높이기 위해 XML 서식 지정 및 구문 강조를 지원하는 XML 편집기(예: Visual Studio)로 로그를 복사합니다.To improve readability, copy the log into an XML editor - in Visual Studio, for example - that supports XML formatting and syntax highlighting.

PipelineComponentTime 이벤트 사용Use the PipelineComponentTime Event

가장 유용한 사용자 지정 로그 항목은 PipelineComponentTime 이벤트일 수 있습니다.Perhaps the most useful custom log entry is the PipelineComponentTime event. 이 로그 항목은 5개의 각 주요 처리 단계에서 데이터 흐름의 각 구성 요소에 소요된 시간(밀리초)을 보고합니다.This log entry reports the number of milliseconds that each component in the data flow spends on each of the five major processing steps. 다음 표에서는 이러한 처리 단계에 대해 설명합니다.The following table describes these processing steps. Integration ServicesIntegration Services 개발자는 이러한 단계를 PipelineComponent을 참조하세요. developers will recognize these steps as the principal methods of a PipelineComponent.

단계Step DescriptionDescription
유효성 검사Validate 구성 요소가 유효한 속성 값 및 구성 설정을 확인합니다.The component checks for valid property values and configuration settings.
PreExecutePreExecute 구성 요소가 데이터 행을 처리하기 전에 일회성 처리를 수행합니다.The component performs one-time processing before it starts to process rows of data.
PostExecutePostExecute 구성 요소가 모든 데이터 행을 처리한 후 일회성 처리를 수행합니다.The component performs one-time processing after it has processed all rows of data.
ProcessInputProcessInput 변환 또는 대상 구성 요소가 업스트림 원본이나 변환에서 전달한 들어오는 데이터 행을 처리합니다.The transformation or destination component processes the incoming rows of data that an upstream source or transformation has passed to it.
PrimeOutputPrimeOutput 원본 또는 변환 구성 요소가 다운스트림 변환이나 대상 구성 요소에 전달할 데이터의 버퍼를 채웁니다.The source or transformation component fills the buffers of data to be passed to a downstream transformation or destination component.

PipelineComponentTime 이벤트를 설정하면 Integration ServicesIntegration Services 는 각 구성 요소가 수행하는 각 처리 단계에 대해 각각 하나씩의 메시지를 기록합니다.When you enable the PipelineComponentTime event, Integration ServicesIntegration Services logs one message for each processing step performed by each component. 다음 로그 항목은 Integration ServicesIntegration Services CalculatedColumns 패키지 예제가 기록하는 메시지의 일부를 보여 줍니다.The following log entries show a subset of the messages that the Integration ServicesIntegration Services CalculatedColumns package sample logs:

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).

이러한 로그 항목은 데이터 흐름 태스크의 대부분의 시간이 아래 나열된(내림차순) 단계에 소요되었음을 나타냅니다.These log entries show that the data flow task spent the most time on the following steps, shown here in descending order:

  • "Extract Data"라는 OLE DB 원본이 데이터를 로드하는 데 688밀리초가The OLE DB source that is named "Extract Data" spent 688 ms. 소요되었습니다.loading data.

  • "Calculate LineItemTotalCost"라는 파생 열 변환이 들어오는 열을 계산하는 데 356밀리초가The Derived Column transformation that is named "Calculate LineItemTotalCost" spent 356 ms. 소요되었습니다.performing calculations on incoming rows.

  • "Sum Quantity and LineItemTotalCost"라는 집계 변환이 데이터를 계산하고 다음 변환에 전달하는 데 PrimeOutput과 ProcessInput에서 각각 141밀리초와 79밀리초씩 총 220밀리초가 소요되었습니다.The Aggregate transformation that is named "Sum Quantity and LineItemTotalCost" spent a combined 220 ms—141 in PrimeOutput and 79 in ProcessInput—performing calculations and passing the data to the next transformation.

SQL Server Data Tools에서 패키지 로깅 사용 Enable Package Logging in SQL Server Data Tools

이 절차에서는 패키지에 로그를 추가하는 방법, 패키지 수준 로깅을 구성하는 방법 및 로깅 구성을 XML 파일에 저장하는 방법을 설명합니다.This procedure describes how to add logs to a package, configure package-level logging, and save the logging configuration to an XML file. 로그는 패키지 수준에서만 추가할 수 있지만 패키지에 포함되는 컨테이너에서 로깅을 활성화하기 위해 패키지가 로깅을 수행할 필요는 없습니다.You can add logs only at the package level, but the package does not have to perform logging to enable logging in the containers that the package includes.

중요

Integration ServicesIntegration Services 서버에 Integration ServicesIntegration Services 프로젝트를 배포하는 경우 패키지 실행에 대해 설정한 로깅 수준에 따라 SQL Server Data Tools(SSDT)SQL Server Data Tools (SSDT)를 사용하여 구성하는 패키지 로깅이 재정의됩니다.If you deploy the Integration ServicesIntegration Services project to the Integration ServicesIntegration Services server, the logging level that you set for the package execution overrides the package logging that you configure using SQL Server Data Tools(SSDT)SQL Server Data Tools (SSDT).

기본적으로 패키지 내의 컨테이너는 부모 컨테이너와 동일한 로깅 구성을 사용합니다.By default, the containers in the package use the same logging configuration as their parent container. 개별 컨테이너에 대한 로깅 옵션을 설정하는 방법은 저장된 구성 파일을 사용하여 로깅 구성을 참조하세요.For information about setting logging options for individual containers, see Configure Logging by Using a Saved Configuration File.

패키지에 로깅을 활성화하려면To enable logging in a package

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

  2. SSIS 메뉴에서 로깅을 클릭합니다.On the SSIS menu, click Logging.

  3. 공급자 유형 목록에서 로그 공급자를 선택한 다음 추가를 클릭합니다.Select a log provider in the Provider type list, and then click Add.

  4. 구성 열에서 연결 관리자를 선택 하거나 클릭 <새 연결 > 는 새 연결 관리자를 만듭니다 적절 한 형식의 로그 공급자에 대 한 합니다.In the Configuration column, select a connection manager or click <New connection> to create a new connection manager of the appropriate type for the log provider. 선택한 공급자에 따라 다음 연결 관리자 중 하나를 사용합니다.Depending on the selected provider, use one of the following connection managers:

    • 텍스트 파일에는 파일 연결 관리자를 사용합니다.For Text files, use a File connection manager. 자세한 내용은 File Connection Manager를 참조하세요.For more information, see File Connection Manager

    • SQL Server 프로파일러SQL Server Profiler에는 파일 연결 관리자를 사용합니다.For SQL Server 프로파일러SQL Server Profiler, use a File connection manager.

    • SQL ServerSQL Server에는 OLE DB 연결 관리자를 사용합니다.For SQL ServerSQL Server, use an OLE DB connection manager. 자세한 내용은 OLE DB Connection Manager를 참조하세요.For more information, see OLE DB Connection Manager.

    • Windows 이벤트 로그에는 아무 것도 선택하지 마십시오.For Windows Event Log, do nothing. SSISSSIS로그를 자동으로 만듭니다. automatically creates the log.

    • XML 파일에는 파일 연결 관리자를 사용합니다.For XML files, use a File connection manager.

  5. 패키지에서 사용할 각 로그에 대해 3단계 및 4단계를 반복합니다.Repeat steps 3 and 4 for each log to use in the package.

    참고

    패키지는 각 유형의 로그를 두 개 이상 사용할 수 있습니다.A package can use more than one log of each type.

  6. 필요에 따라 패키지 수준 확인란을 선택하고 패키지 수준 로깅에서 사용할 로그를 선택한 다음 세부 정보 탭을 클릭합니다.Optionally, select the package-level check box, select the logs to use for package-level logging, and then click the Details tab.

  7. 자세히 탭에서 이벤트 를 선택하여 모든 로그 항목을 로깅하거나 이벤트 선택을 취소하여 개별 이벤트를 선택합니다.On the Details tab, select Events to log all log entries, or clear Events to select individual events.

  8. 필요에 따라 고급 을 클릭하여 로깅할 정보를 지정합니다.Optionally, click Advanced to specify which information to log.

    참고

    기본적으로 모든 정보가 로깅됩니다.By default, all information is logged.

  9. 세부 정보 탭에서 저장을 클릭합니다.On the Details tab, click Save. 다른 이름으로 저장 대화 상자가 나타납니다.The Save As dialog box appears. 로깅 구성을 저장할 폴더를 찾고 새 로그 구성의 파일 이름을 입력한 다음 저장을 클릭합니다.Locate the folder in which to save the logging configuration, type a file name for the new log configuration, and then click Save.

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

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

SSIS 로그 구성 대화 상자 Configure SSIS Logs Dialog Box

SSIS 로그 구성 대화 상자를 사용하여 패키지에 대한 로깅 옵션을 정의할 수 있습니다.Use the Configure SSIS Logs dialog box to define logging options for a package.

수행 작업What do you want to do?

  1. SSIS 로그 구성 대화 상자 열기Open the Configure SSIS Logs Dialog Box

  2. 컨테이너 창의 옵션 구성Configure the Options in the Containers Pane

  3. 공급자 및 로그 탭의 옵션 구성Configure the Options on the Providers and Logs Tab

  4. 자세히 탭의 옵션 구성Configure the Options on the Details Tab

SSIS 로그 구성 대화 상자 열기 Open the Configure SSIS Logs Dialog Box

SSIS 로그 구성 대화 상자를 열려면To open the Configure SSIS Logs dialog box

  • SSISSSIS 디자이너의 SSIS 메뉴에서 로깅 을 클릭합니다.In the SSISSSIS Designer, click Logging on the SSIS menu.

컨테이너 창의 옵션 구성 Configure the Options in the Containers Pane

SSIS 로그 구성 대화 상자의 컨테이너 창을 사용하여 패키지 및 해당 컨테이너에 대해 로깅을 활성화할 수 있습니다.Use the Containers pane of the Configure SSIS Logs dialog box to enable the package and its containers for logging.

옵션Options

SSIS 로그 구성Containers
패키지 및 해당 컨테이너에 대해 로깅을 활성화하려면 계층 뷰의 확인란을 선택합니다.Select the check boxes in the hierarchical view to enable the package and its containers for logging:

  • 확인란의 선택을 취소하면 해당 컨테이너에 대해 로깅이 활성화되지 않습니다.If cleared, the container is not enabled for logging. 로깅을 활성화하려면 선택합니다.Select to enable logging.

  • 확인란이 흐리게 표시된 경우에는 해당 컨테이너에서 부모의 로깅 옵션을 사용하는 것입니다.If dimmed, the container uses the logging options of its parent. 패키지에 대해서는 이 옵션을 사용할 수 없습니다.This option is not available for the package.

  • 확인란을 선택하면 컨테이너에서 자체 로깅 옵션을 정의합니다.If checked, the container defines its own logging options.

    컨테이너가 흐리게 표시되어 있는 경우 해당 컨테이너에 대해 로깅 옵션을 설정하려면 확인란을 두 번 클릭합니다.If a container is dimmed and you want to set logging options on the container, click its check box twice. 첫 번째 클릭은 확인란의 선택을 취소하고 두 번째 클릭은 확인란을 선택하여 사용할 로그 공급자 및 기록할 정보를 선택할 수 있습니다.The first click clears the check box, and the second click selects it, enabling you to choose the log providers to use and select the information to log.

공급자 및 로그 탭의 옵션 구성 Configure the Options on the Providers and Logs Tab

SSIS 로그 구성 대화 상자의 공급자 및 로그 탭을 사용하여 런타임 이벤트를 캡처하기 위한 로그를 생성 및 구성할 수 있습니다.Use the Providers and Logs tab of the Configure SSIS Logs dialog box to create and configure logs for capturing run-time events.

옵션Options

공급자 유형Provider type
목록에서 로그 공급자 유형을 선택합니다.Select a type of log provider from the list.

추가Add
지정한 유형의 로그를 패키지의 로그 공급자 모음에 추가합니다.Add a log of the specified type to the collection of log providers of the package.

이름Name
SSIS 로그 구성 대화 상자의 컨테이너 창에서 선택한 컨테이너 또는 태스크에 대한 로그를 확인란을 사용하여 설정하거나 해제합니다.Enable or disable logs for containers or tasks selected in the Containers pane of the Configure SSIS Logs dialog box, by using the check boxes. 이름 필드는 편집할 수 있습니다.The name field is editable. 공급자의 기본 이름을 사용하거나 설명이 포함된 고유 이름을 입력합니다.Use the default name for the provider, or type a unique descriptive name.

DescriptionDescription
설명 필드는 편집할 수 있습니다.The description field is editable. 클릭한 다음 로그의 기본 설명을 수정합니다.Click and then modify the default description of the log.

ConfigurationConfiguration
목록에서 기존 연결 관리자를 선택 하거나 클릭 < 새 연결... > 새 연결 관리자를 만듭니다.Select an existing connection manager in the list, or click <New connection...> to create a new connection manager. 로그 공급자의 유형에 따라 OLE DB 연결 관리자 또는 파일 연결 관리자를 구성할 수 있습니다.Depending on the type of log provider, you can configure an OLE DB connection manager or a File connection manager. MicrosoftMicrosoft Windows 이벤트 로그의 로그 공급자에는 연결이 필요하지 않습니다.The log provider for the MicrosoftMicrosoft Windows Event Log requires no connection.

관련 항목: OLE DB Connection Manager , File Connection ManagerRelated Topics: OLE DB Connection Manager manager, File Connection Manager

DeleteDelete
로그 공급자를 선택한 다음 삭제를 클릭합니다.Select a log provider and then click Delete.

자세히 탭의 옵션 구성 Configure the Options on the Details Tab

SSIS 로그 구성 대화 상자의 자세히 탭을 사용하여 로깅에 사용할 이벤트와 로깅할 세부 정보를 지정할 수 있습니다.Use the Details tab of the Configure SSIS Logs dialog box to specify the events to enable for logging and the information details to log. 선택한 정보는 패키지의 모든 로그 공급자에 적용됩니다.The information that you select applies to all the log providers in the package. 예를 들어 일부 정보는 SQL ServerSQL Server 인스턴스에 쓰고 다른 정보는 텍스트 파일에 쓰는 것은 불가능합니다.For example, you cannot write some information to the SQL ServerSQL Server instance and different information to a text file.

옵션Options

이벤트Events
로깅할 이벤트를 설정 또는 해제합니다.Enable or disable events for logging.

DescriptionDescription
이벤트에 대한 설명을 표시합니다.View a description of the event.

고급Advanced
로깅할 이벤트를 선택하거나 선택을 취소하고, 각 이벤트에 대해 로깅할 정보를 선택하거나 선택을 취소합니다.Select or clear events to log, and select or clear information to log for each event. 이벤트 목록을 제외한 모든 로깅 세부 정보를 숨기려면 기본 을 클릭합니다.Click Basic to hide all logging details, except the list of events. 다음은 로깅에 사용할 수 있는 정보입니다.The following information is available for logging:

ValueValue DescriptionDescription
ComputerComputer 로깅된 이벤트가 발생한 컴퓨터의 이름입니다.The name of the computer on which the logged event occurred.
연산자Operator 패키지를 시작한 사람의 사용자 이름입니다.The user name of the person who started the package.
SourceNameSourceName 로깅된 이벤트가 발생한 패키지, 컨테이너 및 태스크의 이름입니다.The name of the package, container, or task in which the logged event occurred.
SourceIDSourceID 로깅된 이벤트가 발생한 패키지, 컨테이너 또는 태스크의 GUID(Global Unique Identifier)입니다.The global unique identifier (GUID) of the package, container, or task in which the logged event occurred.
ExecutionIDExecutionID 패키지 실행 인스턴스의 GUID(Global Unique Identifier)입니다.The global unique identifier of the package execution instance.
MessageTextMessageText 로그 항목과 연결된 메시지입니다.A message associated with the log entry.
DataBytesDataBytes 나중에 사용하도록 예약되어 있습니다.Reserved for future use.

기본Basic
로깅할 이벤트를 선택하거나 선택을 취소합니다.Select or clear events to log. 이 옵션은 이벤트 목록을 제외한 로깅 세부 정보를 숨깁니다.This option hides logging details except the list of events. 이벤트를 선택한 경우 해당 이벤트에 대한 모든 로깅 세부 정보가 기본적으로 선택됩니다.If you select an event, all logging details are selected for the event by default. 로깅 세부 정보를 모두 표시하려면 고급 을 클릭합니다.Click Advanced to show all logging details.

로드Load
로깅 옵션을 설정하기 위한 템플릿으로 사용할 기존 XML 파일을 지정합니다.Specify an existing XML file to use as a template for setting logging options.

저장Save
구성 세부 정보를 XML 파일에 템플릿으로 저장합니다.Save configuration details as a template to an XML file.

저장된 구성 파일을 사용하여 로깅 구성 Configure Logging by Using a Saved Configuration File

이 절차에서는 이전에 저장된 로깅 구성 파일을 로드하여 패키지 내의 새 컨테이너를 위한 로깅을 구성하는 방법을 설명합니다.This procedure describes how to configure logging for new containers in a package by loading a previously saved logging configuration file.

기본적으로 패키지의 모든 컨테이너는 부모 컨테이너와 동일한 로깅 구성을 사용합니다.By default, all containers in a package use the same logging configuration as their parent container. 예를 들어 Foreach 루프 내의 태스크는 Foreach 루프와 동일한 로깅 구성을 사용합니다.For example, the tasks in a Foreach Loop use the same logging configuration as the Foreach Loop.

컨테이너에 대한 로깅을 구성하려면To configure logging for a container

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

  2. SSIS 메뉴에서 로깅을 클릭합니다.On the SSIS menu, click Logging.

  3. 패키지 트리 뷰를 확장하고 구성할 컨테이너를 선택합니다.Expand the package tree view and select the container to configure.

  4. 공급자 및 로그 탭에서 컨테이너로 사용할 로그를 선택합니다.On the Providers and Logs tab, select the logs to use for the container.

    참고

    패키지 수준에서만 로그를 만들 수 있습니다.You can create logs only at the package level. 자세한 내용은 SQL Server Data Tools에서 패키지 로깅 사용을 참조하세요.For more information, see Enable Package Logging in SQL Server Data Tools.

  5. 자세히 탭을 클릭하고 로드를 클릭합니다.Click the Details tab and click Load.

  6. 사용할 로깅 구성 파일을 찾고 열기를 클릭합니다.Locate the logging configuration file you want to use and click Open.

  7. 필요에 따라 이벤트 열에서 해당 확인란을 선택하여 기록할 다른 로그 항목을 선택합니다.Optionally, select a different log entry to log by selecting its check box in the Events column. 고급 을 클릭하여 이 항목에 대해 기록할 정보 유형을 선택합니다.Click Advanced to select the type of information to log for this entry.

    참고

    새 컨테이너는 원래 로깅 구성을 만드는 데 사용된 컨테이너에는 사용할 수 없는 추가 로그 항목을 포함할 수 있습니다.The new container may include additional log entries that are not available for the container originally used to create the logging configuration. 이러한 추가 로그 항목을 로그하려면 수동으로 선택해야 합니다.These additional log entries must be selected manually if you want them to be logged.

  8. 로깅 구성의 업데이트된 버전을 저장하려면 저장을 클릭합니다.To save the updated version of the logging configuration, click Save.

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

Enable Logging for Package Execution on the SSIS Server Enable Logging for Package Execution on the SSIS Server

이 항목에서는 Integration ServicesIntegration Services 서버에 배포한 패키지를 실행할 때 패키지의 로깅 수준을 설정하거나 변경하는 방법에 대해 설명합니다.This topic describes how to set or change the logging level for a package when you run a package that you have deployed to the Integration ServicesIntegration Services server. 패키지를 실행할 때 설정하는 로깅 수준에 따라 SQL Server Data Tools(SSDT)SQL Server Data Tools (SSDT)에서 디자인 타임 시 구성하는 패키지 로깅이 재정의됩니다.The logging level you set when you run the package overrides the package logging you configure at design time in SQL Server Data Tools(SSDT)SQL Server Data Tools (SSDT). 자세한 내용은 SQL Server Data Tools에서 패키지 로깅 사용 을 참조하세요.See Enable Package Logging in SQL Server Data Tools for more information.

SQL Server 서버 속성서버 로깅 수준 속성에서 기본 서버 차원의 로깅 수준을 선택할 수 있습니다.In SQL Server Server Properties, under the Server logging level property, you can select a default server-wide logging level. 이 항목에서 설명하는 기본 제공 로깅 수준 중 하나에서 선택하거나 기존 사용자 지정된 로깅 수준을 선택할 수 있습니다.You can pick from one of the built-in logging levels described in this topic, or you can pick an existing customized logging level. 선택한 로깅 수준은 기본적으로 SSIS 카탈로그에 배포되는 모든 패키지에 적용됩니다.The selected logging level applies by default to all packages deployed to the SSIS Catalog. 또한 SSIS 패키지를 실행하는 SQL 에이전트 작업 단계에 기본적으로 적용됩니다.It also applies by default to a SQL Agent job step that runs an SSIS package.

다음 방법 중 하나를 사용하여 개별 패키지에 대한 로깅 수준을 지정할 수도 있습니다.You can also specify the logging level for an individual package by using one of the following methods. 이 항목에는 첫 번째 방법에 대해 설명합니다.This topic covers the first method.

  • 패키지 실행 대화 상자를 사용하여 패키지 실행 인스턴스 구성Configuring an instance of a package execution by using the Execute Package dialog box

  • catalog.set_execution_parameter_value(SSISDB 데이터베이스)를 사용하여 실행 인스턴스에 대한 매개 변수 설정Setting parameters for an instance of an execution by using the catalog.set_execution_parameter_value (SSISDB Database)

  • 새 작업 단계 대화 상자를 사용하여 패키지 실행에 대한 SQL Server 에이전트 작업 구성Configuring a SQL Server Agent job for a package execution by using the New Job Step dialog box.

패키지 실행 대화 상자를 사용하여 패키지의 로깅 수준 설정Set the logging level for a package by using the Execute Package dialog box

  1. SQL Server Management StudioSQL Server Management Studio의 개체 탐색기에서 패키지로 이동합니다.In SQL Server Management StudioSQL Server Management Studio, navigate to the package in Object Explorer.

  2. 패키지를 마우스 오른쪽 단추로 클릭하고 실행을 선택합니다.Right-click the package and select Execute.

  3. 패키지 실행 대화 상자에서 고급 탭을 선택합니다.Select the Advanced tab in the Execute Package dialog box.

  4. 로깅 수준에서 로깅 수준을 선택합니다.Under Logging level, select the logging level. 이 항목은 사용 가능한 값에 대한 설명을 포함합니다.This topic contains a description of available values.

  5. 다른 모든 패키지 구성을 완료한 다음 확인 을 클릭하여 패키지를 실행합니다.Complete any other package configurations, then click OK to run the package.

로깅 수준 선택Select a logging level

다음 기본 제공 로깅 수준을 사용할 수 있습니다.The following built-in logging levels are available. 또한 기존 사용자 지정된 로깅 수준을 선택할 수 있습니다.You can also select an existing customized logging level. 이 항목은 사용자 지정된 로깅 수준에 대한 설명을 포함합니다.This topic contains a description of customized logging levels.

로깅 수준Logging Level DescriptionDescription
InclusionThresholdSettingNone 로깅이 해제됩니다.Logging is turned off. 패키지 실행 상태에만 기록됩니다.Only the package execution status is logged.
BasicBasic 사용자 지정 이벤트 및 진단 이벤트 외의 모든 이벤트가 기록됩니다.All events are logged, except custom and diagnostic events. 이 값은 기본값입니다.This is the default value.
RuntimeLineageRuntimeLineage 데이터 흐름에서 계보 정보를 추적하는 데 필요한 데이터를 수집합니다.Collects the data required to track lineage information in the data flow. 이 계보 정보를 구문 분석하여 작업 간의 계보 관계를 매핑할 수 있습니다.You can parse this lineage information to map the lineage relationship between tasks. ISV 및 개발자는 이 정보를 사용하여 사용자 지정 계보 매핑 도구를 빌드할 수 있습니다.ISVs and developers can build custom lineage mapping tools with this information.
성능Performance 성능 통계와 OnError 및 OnWarning 이벤트만 기록됩니다.Only performance statistics, and OnError and OnWarning events, are logged.

실행 성능 보고서에는 패키지 데이터 흐름 구성 요소의 활성 시간 및 총 시간이 표시됩니다.The Execution Performance report displays Active Time and Total Time for package data flow components. 이 정보는 마지막 패키지 실행의 로깅 수준이 성능 또는 자세히로 설정된 경우에 사용할 수 있습니다.This information is available when the logging level of the last package execution was set to Performance or Verbose. 자세한 내용은 Reports for the Integration Services Server을(를) 참조하세요.For more information, see Reports for the Integration Services Server.

catalog.execution_component_phases 뷰에는 각 실행 단계의 데이터 흐름 구성 요소에 대한 시작 시간과 종료 시간이 표시됩니다.The catalog.execution_component_phases view displays the start and end times for the data flow components, for each phase of an execution. 이 뷰에서는 패키지 실행의 로깅 수준이 성능 또는 자세히로 설정된 경우에만 해당 구성 요소에 대해 이 정보를 표시합니다.This view displays this information for these components only when the logging level of the package execution is set to Performance or Verbose.
자세히Verbose 사용자 지정 이벤트 및 진단 이벤트를 포함한 모든 이벤트가 기록됩니다.All events are logged, including custom and diagnostic events.

사용자 지정 이벤트로는 Integration ServicesIntegration Services 태스크에 의해 기록되는 이벤트가 있습니다.Custom events include those events that are logged by Integration ServicesIntegration Services tasks. 사용자 지정 이벤트에 대한 자세한 내용은 Custom Messages for Logging을(를) 참조하세요.For more information about custom events, see Custom Messages for Logging.

진단 이벤트의 한 예로 DiagnosticEx 이벤트가 있습니다.An example of a diagnostic event is the DiagnosticEx event. 패키지 실행 태스크가 자식 패키지를 실행할 때마다 이 이벤트는 자식 패키지에 전달된 매개 변수 값을 캡처합니다.Whenever an Execute Package task executes a child package, this event captures the parameter values passed to child packages.

또한 DiagnosticEx 이벤트는 행 수준 오류가 발생하는 열의 이름을 가져올 수 있습니다.The DiagnosticEx event also helps you to get the names of columns in which row-level errors occur. 이 이벤트는 로그에 데이터 흐름 계보 지도를 작성합니다.This event writes a data flow lineage map to the log. 그런 다음 오류 출력에 의해 캡처된 열 식별자를 사용하여 이 계보 맵에서 열 이름을 조회할 수 있습니다.You can then look up the column name in this lineage map by using the column identifier captured by an error output. 자세한 내용은 Error Handling in Data를 참조하십시오.For more info, see Error Handling in Data.

DiagnosticEx 에 대한 메시지 열 값은 XML 텍스트입니다.The value of the message column for DiagnosticEx is XML text. 패키지 실행에 대한 메시지 텍스트를 보려면 catalog.operation_messages(SSISDB 데이터베이스) 뷰를 쿼리합니다.To view the message text for a package execution, query the catalog.operation_messages (SSISDB Database) view. DiagnosticEx 이벤트는 로그의 크기를 줄이기 위해 해당 XML 출력에서 공백을 유지하지 않습니다.Note that the DiagnosticEx event does not preserve whitespace in its XML output to reduce the size of the log. 가독성을 높이기 위해 XML 서식 지정 및 구문 강조를 지원하는 XML 편집기(예: Visual Studio)로 로그를 복사합니다.To improve readability, copy the log into an XML editor - in Visual Studio, for example - that supports XML formatting and syntax highlighting.

catalog.execution_data_statistics 뷰는 패키지 실행에 대해 데이터 흐름 구성 요소가 다운스트림 구성 요소에 데이터를 전송할 때마다 행을 표시합니다.The catalog.execution_data_statistics view displays a row each time a data flow component sends data to a downstream component, for a package execution. 뷰에서 이 정보를 캡처하려면 로깅 수준을 자세히 로 설정해야 합니다.The logging level must be set to Verbose to capture this information in the view.

사용자 지정된 로깅 수준 관리 대화 상자를 사용하여 사용자 지정된 로깅 수준 만들기 및 관리Create and manage customized logging levels by using the Customized Logging Level Management dialog box

원하는 통계 및 이벤트를 수집하는 사용자 지정된 로깅 수준을 만들 수 있습니다.You can create customized logging levels that collect only the statistics and events that you want. 필요에 따라 변수 값, 연결 문자열 및 구성 요소 속성을 포함하는 이벤트의 컨텍스트를 캡처할 수도 있습니다.Optionally you can also capture the context of events, which includes variable values, connection strings, and component properties. 패키지를 실행하는 경우 기본 제공 로깅 수준을 선택할 수 있을 때마다 사용자 지정된 로깅 수준을 선택할 수 있습니다.When you run a package, you can select a customized logging level wherever you can select a built-in logging level.

패키지 변수 값을 캡처하려면 변수의 IncludeInDebugDump 속성을 True로 설정해야 합니다.To capture the values of package variables, the IncludeInDebugDump property of the variables must be set to True.

  1. SQL Server Management StudioSQL Server Management Studio에서 사용자 지정된 로깅 수준을 만들고 관리하려면 SSISDB 데이터베이스를 마우스 오른쪽 단추로 클릭하고 사용자 지정된 로깅 수준 을 선택하여 사용자 지정된 로깅 수준 관리 대화 상자를 엽니다.To create and manage customized logging levels, in SQL Server Management StudioSQL Server Management Studio, right-click on the SSISDB database and select Customized Logging Level to open the Customized Logging Level Management dialog box. 사용자 지정된 로깅 수준 목록은 모든 기존 사용자 지정된 로깅 수준을 포함합니다.The Customized Logging Levels list contains all the existing customized logging levels.

  2. 새 사용자 지정된 로깅 수준을 만들려면 만들기를 클릭한 다음 이름 및 설명을 제공합니다.To create a new customized logging level, click Create, and then provide a name and description. 통계이벤트 탭에서 수집하려는 통계 및 이벤트를 선택합니다.On the Statistics and Events tabs, select the statistics and events that you want to collect. 이벤트 탭에서 필요에 따라 개별 이벤트에 컨텍스트 포함 을 선택합니다.On the Events tab, optionally select Include Context for individual events. 그런 다음 저장을 클릭합니다.Then click Save.

  3. 기존 사용자 지정된 로깅 수준을 업데이트 하려면 목록에서 선택하고 다시 구성한 다음 저장을 클릭합니다.To update an existing customized logging level, select it in the list, reconfigure it, and then click Save.

  4. 기존 사용자 지정된 로깅 수준을 삭제 하려면 목록에서 선택한 다음 삭제를 클릭합니다.To delete an existing customized logging level, select it in the list, and then click Delete.

    사용자 지정된 로깅 수준에 대한 권한.Permissions for customized logging levels.

  • SSISDB 데이터베이스의 모든 사용자는 사용자 지정된 로깅 수준을 보고 패키지를 실행할 때 사용자 지정된 로깅 수준을 선택할 수 있습니다.All users of the SSISDB database can see customized logging levels and select a customized logging level when they run packages.

  • ssis_admin 또는 sysadmin 역할의 사용자만 사용자 지정된 로깅 수준을 만들고 업데이트 또는 삭제할 수 있습니다.Only users in the ssis_admin or sysadmin role can create, update, or delete customized logging levels.

Custom Messages for Logging Custom Messages for Logging

SQL Server Integration Services는 패키지 및 여러 태스크에 대한 로그 항목 기록을 위해 다양한 사용자 지정 이벤트 집합을 제공합니다.SQL Server Integration Services provides a rich set of custom events for writing log entries for packages and many tasks. 이러한 항목을 사용하면 나중에 분석할 수 있도록 미리 정의된 이벤트나 사용자가 정의한 메시지를 기록하여 실행 진행률, 결과 및 문제에 대한 세부 정보를 저장할 수 있습니다.You can use these entries to save detailed information about execution progress, results, and problems by recording predefined events or user-defined messages for later analysis. 예를 들면 대량 삽입이 시작되고 끝나는 시간을 기록하여 패키지 실행 시 성능 문제를 식별할 수 있습니다.For example, you can record when a bulk insert begins and ends to identify performance issues when the package runs.

사용자 지정 로그 항목은 패키지 및 모든 컨테이너와 태스크에 사용할 수 있는 표준 로깅 이벤트 집합과는 다른 항목 집합입니다.The custom log entries are a different set of entries than the set of standard logging events that are available for packages and all containers and tasks. 사용자 지정 로그 항목은 패키지의 특정 태스크에 대한 유용한 정보를 캡처하도록 조정되어 있습니다.The custom log entries are tailored to capture useful information about a specific task in a package. 예를 들어 SQL 실행 태스크에 대한 사용자 지정 로그 항목 중 하나는 해당 태스크에서 실행한 SQL 문을 로그에 기록합니다.For example, one of the custom log entries for the Execute SQL task records the SQL statement that the task executes in the log.

모든 로그 항목에는 패키지가 시작되고 끝날 때 자동으로 기록되는 로그 항목을 비롯하여 날짜 및 시간 정보가 포함됩니다.All log entries include date and time information, including the log entries that are automatically written when a package begins and finishes. 로그 이벤트는 대부분 여러 항목을 로그에 기록합니다.Many of the log events write multiple entries to the log. 일반적으로 이벤트에 여러 단계가 있을 경우 이러한 기록이 수행됩니다.This typically occurs when the event has different phases. 예를 들어 ExecuteSQLExecutingQuery 로그 이벤트는 3개의 항목을 기록합니다. 즉, 태스크에서 데이터베이스에 대한 연결을 설정한 후, 태스크에서 SQL 문 준비를 시작한 후, SQL 문 실행이 완료된 후에 각각 하나씩의 항목을 기록합니다.For example, the ExecuteSQLExecutingQuery log event writes three entries: one entry after the task acquires a connection to the database, another after the task starts to prepare the SQL statement, and one more after the execution of the SQL statement is completed.

다음 Integration ServicesIntegration Services 개체에는 사용자 지정 로그 항목이 있습니다.The following Integration ServicesIntegration Services objects have custom log entries:

패키지Package

대량 삽입 태스크Bulk Insert Task

데이터 흐름 태스크Data Flow Task

DTS 2000 실행 태스크Execute DTS 2000 Task

프로세스 실행 태스크Execute Process Task

SQL 실행 태스크Execute SQL Task

파일 시스템 태스크File System Task

FTP 태스크FTP Task

메시지 큐 태스크Message Queue Task

스크립트 태스크Script Task

메일 보내기 태스크Send Mail Task

데이터베이스 전송 태스크Transfer Database Task

오류 메시지 전송 태스크Transfer Error Messages Task

작업 전송 태스크Transfer Jobs Task

로그인 전송 태스크Transfer Logins Task

Master 저장 프로시저 전송 태스크Transfer Master Stored Procedures Task

SQL Server 개체 전송 태스크Transfer SQL Server Objects Task

웹 서비스 태스크Web Services Task

WMI 데이터 판독기 태스크WMI Data Reader Task

WMI 이벤트 감시자 태스크WMI Event Watcher Task

XML 태스크XML Task

로그 항목Log Entries

패키지 Package

다음 표에서는 패키지에 대한 사용자 지정 로그 항목을 나열합니다.The following table lists the custom log entries for packages.

로그 항목Log entry DescriptionDescription
PackageStartPackageStart 패키지 실행이 시작되었음을 나타냅니다.Indicates that the package began to run. 이 로그 항목은 로그에 자동으로 기록되며This log entry is automatically written to the log. 제외할 수 없습니다.You cannot exclude it.
PackageEndPackageEnd 패키지가 완료되었음을 나타냅니다.Indicates that the package completed. 이 로그 항목은 로그에 자동으로 기록되며This log entry is automatically written to the log. 제외할 수 없습니다.You cannot exclude it.
진단Diagnostic 동시에 실행될 수 있는 실행 파일 수처럼 패키지 실행에 영향을 주는 시스템 구성에 대한 정보를 제공합니다.Provides information about the system configuration that affects package execution such as the number executables that can be run concurrently.

Diagnostic 로그 항목에는 외부 데이터 공급자에 대한 호출 전후 항목도 포함됩니다.The Diagnostic log entry also includes before and after entries for calls to external data providers.

대량 삽입 태스크 Bulk Insert Task

다음 표에서는 대량 삽입 태스크에 대한 사용자 지정 로그 항목을 나열합니다.The following table lists the custom log entries for the Bulk Insert task.

로그 항목Log entry DescriptionDescription
DTSBulkInsertTaskBeginDTSBulkInsertTaskBegin 대량 삽입이 시작되었음을 나타냅니다.Indicates that the bulk insert began.
DTSBulkInsertTaskEndDTSBulkInsertTaskEnd 대량 삽입이 완료되었음을 나타냅니다.Indicates that the bulk insert finished.
DTSBulkInsertTaskInfosDTSBulkInsertTaskInfos 태스크에 대한 설명 정보를 제공합니다.Provides descriptive information about the task.

데이터 흐름 태스크 Data Flow Task

다음 표에서는 데이터 흐름 태스크에 대한 사용자 지정 로그 항목을 나열합니다.The following table lists the custom log entries for the Data Flow task.

로그 항목Log entry DescriptionDescription
BufferSizeTuningBufferSizeTuning 데이터 흐름 태스크로 인해 버퍼 크기가 변경되었음을 나타냅니다.Indicates that the Data Flow task changed the size of the buffer. 로그 항목은 크기가 변경된 이유를 설명하고 임시 새 버퍼 크기를 나열합니다.The log entry describes the reasons for the size change and lists the temporary new buffer size.
OnPipelinePostEndOfRowsetOnPipelinePostEndOfRowset 구성 요소에 ProcessInput 메서드의 마지막 호출로 설정된 해당 행 집합 끝 신호를 제공했음을 나타냅니다.Denotes that a component has been given its end-of-rowset signal, which is set by the last call of the ProcessInput method. 입력을 처리하는 데이터 흐름의 각 구성 요소에 대한 항목이 기록됩니다.An entry is written for each component in the data flow that processes input. 이 항목은 구성 요소의 이름을 포함합니다.The entry includes the name of the component.
OnPipelinePostPrimeOutputOnPipelinePostPrimeOutput 구성 요소가 PrimeOutput 메서드에 대한 마지막 호출을 완료했음을 나타냅니다.Indicates that the component has completed its last call to the PrimeOutput method. 데이터 흐름에 따라 여러 로그 항목이 기록될 수 있습니다.Depending on the data flow, multiple log entries may be written. 구성 요소가 원본일 경우에는 구성 요소가 행 처리를 완료했음을 의미합니다.If the component is a source, this means that the component has finished processing rows.
OnPipelinePreEndOfRowsetOnPipelinePreEndOfRowset 구성 요소가 ProcessInput 메서드의 마지막 호출로 설정된 해당 행 집합 끝 신호를 수신하려고 함을 나타냅니다.Indicates that a component is about to receive its end-of-rowset signal, which is set by the last call of the ProcessInput method. 입력을 처리하는 데이터 흐름의 각 구성 요소에 대한 항목이 기록됩니다.An entry is written for each component in the data flow that processes input. 이 항목은 구성 요소의 이름을 포함합니다.The entry includes the name of the component.
OnPipelinePrePrimeOutputOnPipelinePrePrimeOutput 구성 요소가 PrimeOutput 메서드에서 해당 호출을 수신하려고 함을 나타냅니다.Indicates that the component is about to receive its call from the PrimeOutput method. 데이터 흐름에 따라 여러 로그 항목이 기록될 수 있습니다.Depending on the data flow, multiple log entries may be written.
OnPipelineRowsSentOnPipelineRowsSent ProcessInput 메서드 호출로 구성 요소 입력에 제공한 행 수를 보고합니다.Reports the number of rows provided to a component input by a call to the ProcessInput method. 이 로그 항목은 구성 요소 이름을 포함합니다.The log entry includes the component name.
PipelineBufferLeakPipelineBufferLeak 버퍼 관리자가 없어진 후에 버퍼를 활성 상태로 유지하는 모든 구성 요소에 대한 정보를 제공합니다.Provides information about any component that kept buffers alive after the buffer manager goes away. 즉, 버퍼 리소스가 릴리스되지 않았기 때문에 메모리 손실이 발생할 수 있음을 나타냅니다.This means that buffers resources were not released and may cause memory leaks. 로그 항목은 구성 요소 이름과 버퍼 ID를 제공합니다.The log entry provides the name of the component and the ID of the buffer.
PipelineExecutionPlanPipelineExecutionPlan 데이터 흐름의 실행 계획을 보고합니다.Reports the execution plan of the data flow. 버퍼를 구성 요소로 전송하는 방법에 대한 정보를 제공합니다.It provides information about how buffers will be sent to components. 이 정보는 PipelineExecutionTrees 항목과 함께 태스크에서 발생하는 사항에 대해 설명합니다.This information, in combination with the PipelineExecutionTrees entry, describes what is occurring in the task.
PipelineExecutionTreesPipelineExecutionTrees 데이터 흐름에서 레이아웃 실행 트리를 보고합니다.Reports the execution trees of the layout in the data flow. 데이터 흐름 엔진 스케줄러는 이 트리를 사용하여 데이터 흐름의 실행 계획을 작성합니다.The scheduler of the data flow engine use the trees to build the execution plan of the data flow.
PipelineInitializationPipelineInitialization 태스크에 대한 초기화 정보를 제공합니다.Provides initialization information about the task. 이 정보에 BLOB 데이터의 임시 저장소에 사용할 디렉터리, 기본 버퍼 크기 및 버퍼의 행 수가 포함됩니다.This information includes the directories to use for temporary storage of BLOB data, the default buffer size, and the number of rows in a buffer. 데이터 흐름 태스크의 구성에 따라 여러 로그 항목이 기록될 수 있습니다.Depending on the configuration of the Data Flow task, multiple log entries may be written.

DTS 2000 실행 태스크 Execute DTS 2000 Task

다음 표에서는 DTS 2000 실행 태스크에 대한 사용자 지정 로그 항목을 나열합니다.The following table lists the custom log entries for the Execute DTS 2000 task.

로그 항목Log entry DescriptionDescription
ExecuteDTS80PackageTaskBeginExecuteDTS80PackageTaskBegin 태스크에서 DTS 2000 패키지 실행을 시작했음을 나타냅니다.Indicates that the task began to run a DTS 2000 package.
ExecuteDTS80PackageTaskEndExecuteDTS80PackageTaskEnd 태스크가 완료되었음을 나타냅니다.Indicates that the task finished.

참고: DTS 2000 패키지는 태스크가 끝난 후에도 계속 실행됩니다.Note: The DTS 2000 package may continue to run after the task ends.
ExecuteDTS80PackageTaskTaskInfoExecuteDTS80PackageTaskTaskInfo 태스크에 대한 설명 정보를 제공합니다.Provides descriptive information about the task.
ExecuteDTS80PackageTaskTaskResultExecuteDTS80PackageTaskTaskResult 태스크에서 실행한 DTS 2000 패키지의 실행 결과를 보고합니다.Reports the execution result of the DTS 2000 package that the task ran.

프로세스 실행 태스크 Execute Process Task

다음 표에서는 프로세스 실행 태스크에 대한 사용자 지정 로그 항목을 나열합니다.The following table lists the custom log entries for the Execute Process task.

로그 항목Log entry DescriptionDescription
ExecuteProcessExecutingProcessExecuteProcessExecutingProcess 태스크에서 실행하도록 구성된 실행 파일의 실행 프로세스에 대한 정보를 제공합니다.Provides information about the process of running the executable that the task is configured to run.

두 개의 로그 항목이 기록됩니다.Two log entries are written. 한 항목에는 태스크가 실행하는 실행 파일의 이름과 위치에 대한 정보가 들어 있고 다른 항목은 실행 파일의 종료를 기록합니다.One contains information about the name and location of the executable that the task runs, and the other records the exit from the executable.
ExecuteProcessVariableRoutingExecuteProcessVariableRouting 실행 파일의 입력 및 출력으로 라우팅되는 변수에 대한 정보를 제공합니다.Provides information about which variables are routed to the input and outputs of the executable. stdin(입력), stdout(출력) 및 stderr(오류 출력)에 대한 로그 항목이 기록됩니다.Log entries are written for stdin (the input), stdout (the output), and stderr (the error output).

SQL 실행 태스크 Execute SQL Task

다음 표에서는 SQL 실행 태스크에 대한 사용자 지정 로그 항목을 설명합니다.The following table describes the custom log entry for the Execute SQL task.

로그 항목Log entry DescriptionDescription
ExecuteSQLExecutingQueryExecuteSQLExecutingQuery SQL 문의 실행 단계에 대한 정보를 제공합니다.Provides information about the execution phases of the SQL statement. 로그 항목은 태스크에서 데이터베이스에 대한 연결을 설정할 때, 태스크에서 SQL 문 준비를 시작할 때 또는 SQL 문 실행이 완료된 후에 기록됩니다.Log entries are written when the task acquires connection to the database, when the task starts to prepare the SQL statement, and after the execution of the SQL statement is completed. 준비 단계에 대한 로그 항목은 태스크에서 사용하는 SQL 문을 포함합니다.The log entry for the prepare phase includes the SQL statement that the task uses.

파일 시스템 태스크 File System Task

다음 표에서는 파일 시스템 태스크에 대한 사용자 지정 로그 항목을 설명합니다.The following table describes the custom log entry for the File System task.

로그 항목Log entry DescriptionDescription
FileSystemOperationFileSystemOperation 태스크에서 수행하는 작업을 보고합니다.Reports the operation that the task performs. 이 로그 항목은 파일 시스템 작업이 시작될 때 기록되며 원본 및 대상에 대한 정보를 포함합니다.The log entry is written when the file system operation starts and includes information about the source and destination.

FTP 태스크 FTP Task

다음 표에서는 FTP 태스크에 대한 사용자 지정 로그 항목을 나열합니다.The following table lists the custom log entries for the FTP task.

로그 항목Log entry DescriptionDescription
FTPConnectingToServerFTPConnectingToServer 태스크에서 FTP 서버에 대한 연결을 시작했음을 나타냅니다.Indicates that the task initiated a connection to the FTP server.
FTPOperationFTPOperation 태스크에서 수행하는 FTP 작업의 시작 부분과 유형을 보고합니다.Reports the beginning of and the type of FTP operation that the task performs.

메시지 큐 태스크 Message Queue Task

다음 표에서는 메시지 큐 태스크에 대한 사용자 지정 로그 항목을 나열합니다.The following table lists the custom log entries for the Message Queue task.

로그 항목Log entry DescriptionDescription
MSMQAfterOpenMSMQAfterOpen 태스크에서 메시지 큐 열기를 완료했음을 나타냅니다.Indicates that the task finished opening the message queue.
MSMQBeforeOpenMSMQBeforeOpen 태스크에서 메시지 큐 열기를 시작했음을 나타냅니다.Indicates that the task began to open the message queue.
MSMQBeginReceiveMSMQBeginReceive 태스크에서 메시지 받기를 시작했음을 나타냅니다.Indicates that the task began to receive a message.
MSMQBeginSendMSMQBeginSend 태스크에서 메시지 보내기를 시작했음을 나타냅니다.Indicates that the task began to send a message.
MSMQEndReceiveMSMQEndReceive 태스크에서 메시지 받기를 완료했음을 나타냅니다.Indicates that the task finished receiving a message.
MSMQEndSendMSMQEndSend 태스크에서 메시지 보내기를 완료했음을 나타냅니다.Indicates that the task finished sending a message
MSMQTaskInfoMSMQTaskInfo 태스크에 대한 설명 정보를 제공합니다.Provides descriptive information about the task.
MSMQTaskTimeOutMSMQTaskTimeOut 태스크 시간이 초과되었음을 나타냅니다.Indicates that the task timed out.

스크립트 태스크 Script Task

다음 표에서는 스크립트 태스크에 대한 사용자 지정 로그 항목을 설명합니다.The following table describes the custom log entry for the Script task.

로그 항목Log entry DescriptionDescription
ScriptTaskLogEntryScriptTaskLogEntry 스크립트에서 로깅을 구현한 결과를 보고합니다.Reports the results of implementing logging in the script. Log 개체의 Dts 메서드 호출에 대해 각각 로그 항목이 기록됩니다.A log entry is written for each call to the Log method of the Dts object. 이 항목은 코드가 실행되면 기록됩니다.The entry is written when the code is run. 자세한 내용은 Logging in the Script Task을(를) 참조하세요.For more information, see Logging in the Script Task.

메일 보내기 태스크 Send Mail Task

다음 표에서는 메일 보내기 태스크에 대한 사용자 지정 로그 항목을 나열합니다.The following table lists the custom log entries for the Send Mail task.

로그 항목Log entry DescriptionDescription
SendMailTaskBeginSendMailTaskBegin 태스크에서 전자 메일 메시지 보내기를 시작했음을 나타냅니다.Indicates that the task began to send an e-mail message.
SendMailTaskEndSendMailTaskEnd 태스크에서 전자 메일 메시지 보내기를 완료했음을 나타냅니다.Indicates that the task finished sending an e-mail message.
SendMailTaskInfoSendMailTaskInfo 태스크에 대한 설명 정보를 제공합니다.Provides descriptive information about the task.

데이터베이스 전송 태스크 Transfer Database Task

다음 표에서는 데이터베이스 전송 태스크에 대한 사용자 지정 로그 항목을 나열합니다.The following table lists the custom log entries for the Transfer Database task.

로그 항목Log entry DescriptionDescription
SourceDBSourceDB 태스크에서 복사한 데이터베이스를 지정합니다.Specifies the database that the task copied.
SourceSQLServerSourceSQLServer 데이터베이스를 복사한 컴퓨터를 지정합니다.Specifies the computer from which the database was copied.

오류 메시지 전송 태스크 Transfer Error Messages Task

다음 표에서는 오류 메시지 전송 태스크에 대한 사용자 지정 로그 항목을 나열합니다.The following table lists the custom log entries for the Transfer Error Messages task.

로그 항목Log entry DescriptionDescription
TransferErrorMessagesTaskFinishedTransferringObjectsTransferErrorMessagesTaskFinishedTransferringObjects 태스크에서 오류 메시지 전송을 완료했음을 나타냅니다.Indicates that the task finished transferring error messages.
TransferErrorMessagesTaskStartTransferringObjectsTransferErrorMessagesTaskStartTransferringObjects 태스크에서 오류 메시지 전송을 시작했음을 나타냅니다.Indicates that the task started to transfer error messages.

작업 전송 태스크 Transfer Jobs Task

다음 표에서는 작업 전송 태스크에 대한 사용자 지정 로그 항목을 나열합니다.The following table lists the custom log entries for the Transfer Jobs task.

로그 항목Log entry DescriptionDescription
TransferJobsTaskFinishedTransferringObjectsTransferJobsTaskFinishedTransferringObjects 태스크에서 SQL ServerSQL Server 에이전트 작업 전송을 완료했음을 나타냅니다.Indicates that the task finished transferring SQL ServerSQL Server Agent jobs.
TransferJobsTaskStartTransferringObjectsTransferJobsTaskStartTransferringObjects 태스크에서 SQL ServerSQL Server 에이전트 작업 전송을 시작했음을 나타냅니다.Indicates that the task started to transfer SQL ServerSQL Server Agent jobs.

로그인 전송 태스크 Transfer Logins Task

다음 표에서는 로그인 전송 태스크에 대한 사용자 지정 로그 항목을 나열합니다.The following table lists the custom log entries for the Transfer Logins task.

로그 항목Log entry DescriptionDescription
TransferLoginsTaskFinishedTransferringObjectsTransferLoginsTaskFinishedTransferringObjects 태스크에서 로그인 전송을 완료했음을 나타냅니다.Indicates that the task finished transferring logins.
TransferLoginsTaskStartTransferringObjectsTransferLoginsTaskStartTransferringObjects 태스크에서 로그인 전송을 시작했음을 나타냅니다.Indicates that the task started to transfer logins.

Master 저장 프로시저 전송 태스크 Transfer Master Stored Procedures Task

다음 표에서는 Master 저장 프로시저 전송 태스크에 대한 사용자 지정 로그 항목을 나열합니다.The following table lists the custom log entries for the Transfer Master Stored Procedures task.

로그 항목Log entry DescriptionDescription
TransferStoredProceduresTaskFinishedTransferringObjectsTransferStoredProceduresTaskFinishedTransferringObjects 태스크에서 master 데이터베이스에 저장된 사용자 정의 저장 프로시저 전송을 완료했음을 나타냅니다.Indicates that the task finished transferring user-defined stored procedures that are stored in the master database.
TransferStoredProceduresTaskStartTransferringObjectsTransferStoredProceduresTaskStartTransferringObjects 태스크에서 master 데이터베이스에 저장된 사용자 정의 저장 프로시저 전송을 시작했음을 나타냅니다.Indicates that the task started to transfer user-defined stored procedures that are stored in the master database.

SQL Server 개체 전송 태스크 Transfer SQL Server Objects Task

다음 표에서는 SQL ServerSQL Server 개체 전송 태스크에 대한 사용자 지정 로그 항목을 나열합니다.The following table lists the custom log entries for the Transfer SQL ServerSQL Server Objects task.

로그 항목Log entry DescriptionDescription
TransferSqlServerObjectsTaskFinishedTransferringObjectsTransferSqlServerObjectsTaskFinishedTransferringObjects 태스크에서 SQL ServerSQL Server 데이터베이스 개체 전송을 완료했음을 나타냅니다.Indicates that the task finished transferring SQL ServerSQL Server database objects.
TransferSqlServerObjectsTaskStartTransferringObjectsTransferSqlServerObjectsTaskStartTransferringObjects 태스크에서 SQL ServerSQL Server 데이터베이스 개체 전송을 시작했음을 나타냅니다.Indicates that the task started to transfer SQL ServerSQL Server database objects.

웹 서비스 태스크 Web Services Task

다음 표에서는 웹 서비스 태스크에 사용할 수 있는 사용자 지정 로그 항목을 나열합니다.The following table lists the custom log entries that you can enable for the Web Services task.

로그 항목Log entry DescriptionDescription
WSTaskBeginWSTaskBegin 태스크에서 웹 서비스 액세스를 시작했습니다.The task began to access a Web service.
WSTaskEndWSTaskEnd 태스크에서 웹 서비스 메서드를 완료했습니다.The task completed a Web service method.
WSTaskInfoWSTaskInfo 태스크에 대한 설명 정보입니다.Descriptive information about the task.

WMI 데이터 판독기 태스크 WMI Data Reader Task

다음 표에서는 WMI 데이터 판독기 태스크에 대한 사용자 지정 로그 항목을 나열합니다.The following table lists the custom log entries for the WMI Data Reader task.

로그 항목Log entry DescriptionDescription
WMIDataReaderGettingWMIDataWMIDataReaderGettingWMIData 태스크에서 WMI 데이터 읽기를 시작했음을 나타냅니다.Indicates that the task began to read WMI data.
WMIDataReaderOperationWMIDataReaderOperation 태스크에서 실행한 WQL 쿼리를 보고합니다.Reports the WQL query that the task ran.

WMI 이벤트 감시자 태스크 WMI Event Watcher Task

다음 표에서는 WMI 이벤트 감시자 태스크에 대한 사용자 지정 로그 항목을 나열합니다.The following table lists the custom log entries for the WMI Event Watcher task.

로그 항목Log entry DescriptionDescription
WMIEventWatcherEventOccurredWMIEventWatcherEventOccurred 태스크에서 모니터링하고 있는 이벤트가 발생했음을 나타냅니다.Denotes that the event occurred that the task was monitoring.
WMIEventWatcherTimedoutWMIEventWatcherTimedout 태스크 시간이 초과되었음을 나타냅니다.Indicates that the task timed out.
WMIEventWatcherWatchingForWMIEventsWMIEventWatcherWatchingForWMIEvents 태스크에서 WQL 쿼리 실행을 시작했음을 나타냅니다.Indicates that the task began to execute the WQL query. 이 항목은 해당 쿼리를 포함합니다.The entry includes the query.

XML 태스크 XML Task

다음 표에서는 XML 태스크에 대한 사용자 지정 로그 항목을 설명합니다.The following table describes the custom log entry for the XML task.

로그 항목Log entry DescriptionDescription
XMLOperationXMLOperation 태스크에서 수행한 작업에 대한 정보를 제공합니다.Provides information about the operation that the task performs

다음 목록에는 로깅 기능과 관련된 태스크를 수행하는 방법을 보여 주는 항목에 대한 링크가 나와 있습니다.The following list contains links to topics that show how to perform tasks related to the logging feature.

전체 및 세부 정보 로깅을 위한 DTLoggedExec 도구(CodePlex 프로젝트)DTLoggedExec Tool for Full and Detail Logging (CodePlex Project)