문서를 영문으로 보려면 영문 확인란을 선택하세요. 마우스 포인터를 텍스트 위로 이동시켜 팝업 창에서 영문 텍스트를 표시할 수도 있습니다.
번역
영문

프로그래밍 방식으로 로깅 설정

런타임 엔진에서는 패키지의 유효성 검사 및 실행 중에 이벤트 관련 정보를 캡처하는 데 사용할 수 있는 LogProvider 개체의 컬렉션을 제공합니다. LogProvider 개체는 TaskHost, Package, ForLoopForEachLoop 개체를 비롯하여 DtsContainer 개체에서 사용할 수 있습니다. 개별 컨테이너나 패키지 전체에 대해 로깅 기능을 사용하도록 설정할 수 있습니다.

컨테이너에서 사용할 수 있는 로그 공급자에는 여러 유형이 있습니다. 따라서 여러 형식으로 로그 정보를 만들고 저장할 수 있는 유연성이 있습니다. 컨테이너 개체를 로깅에 참여시키는 과정은 두 단계로 이루어집니다. 먼저 로깅 기능을 사용하도록 설정한 다음 로그 공급자를 선택합니다. 컨테이너의 LoggingOptionsLoggingMode 속성은 로깅되는 이벤트를 지정하고 로그 공급자를 선택하는 데 사용됩니다.

로깅을 수행할 수 있는 각 컨테이너에 있는 LoggingMode 속성은 컨테이너의 이벤트 정보를 이벤트 로그에 기록할지 여부를 결정합니다. 이 속성은 DTSLoggingMode 구조의 값을 할당받으며 기본적으로 컨테이너의 부모에서 상속됩니다. 컨테이너가 패키지라서 부모가 없는 경우 이 속성은 기본값이 DisabledUseParentSetting을 사용합니다.

로그 공급자 선택

LoggingMode 속성이 Enabled로 설정되면 컨테이너의 SelectedLogProviders 컬렉션에 로그 공급자가 추가되면서 프로세스가 완료됩니다. SelectedLogProviders 컬렉션은 LoggingOptions 개체에서 사용할 수 있으며 컨테이너에 대해 선택된 로그 공급자를 포함합니다. Add 메서드는 공급자를 만들어 컬렉션에 추가하기 위해 호출됩니다. 그런 다음 이 메서드는 컬렉션에 추가된 로그 공급자를 반환합니다. 각 공급자에는 해당 공급자에 고유한 구성 설정이 있으며 이러한 속성은 ConfigString 속성을 사용하여 설정됩니다.

다음 표에는 사용할 수 있는 로그 공급자, 해당 설명 및 ConfigString 정보가 나열되어 있습니다.

공급자

설명

ConfigString 속성

SQL Server 프로파일러

SQL Server 프로파일러에서 캡처하고 볼 수 있는 SQL 추적을 생성합니다. 이 공급자의 기본 파일 이름 확장명은 .trc입니다.

구성이 필요하지 않습니다.

SQL Server

SQL Server 데이터베이스의 sysssislog 테이블에 이벤트 로그 항목을 기록합니다.

SQL Server 공급자를 사용하려면 데이터베이스에 대한 연결과 대상 데이터베이스 이름이 지정되어 있어야 합니다.

텍스트 파일

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

파일 연결 관리자의 이름입니다.

Windows 이벤트 로그

로컬 컴퓨터의 응용 프로그램 로그에 있는 표준 Windows 이벤트 로그에 로깅합니다.

구성이 필요하지 않습니다.

XML 파일

이벤트 로그 항목을 XML 형식의 파일에 씁니다. 이 공급자의 기본 파일 이름 확장명은 .xml입니다.

파일 연결 관리자의 이름입니다.

컨테이너의 EventFilterKindEventFilter 속성을 설정하여 이벤트를 이벤트 로그에 포함하거나 이벤트 로그에서 제외할 수 있습니다. EventFilterKind 구조에는 EventFilter에 추가된 이벤트가 이벤트 로그에 포함되는지 여부를 나타내는 ExclusionFilterInclusionFilter 값이 들어 있습니다. EventFilter 속성에는 필터링 제목에 해당하는 이벤트 이름이 들어 있는 문자열 배열이 할당됩니다.

다음 코드에서는 패키지에 로깅 기능을 사용하도록 설정하고, SelectedLogProviders 컬렉션에 텍스트 파일에 대한 로그 공급자를 추가하고, 로깅 출력에 포함할 이벤트 목록을 지정합니다.

using System;
using Microsoft.SqlServer.Dts.Runtime;

namespace Microsoft.SqlServer.Dts.Samples
{
  class Program
  {
    static void Main(string[] args)
    {
      Package p = new Package();

      ConnectionManager loggingConnection = p.Connections.Add("FILE");
      loggingConnection.ConnectionString = @"C:\SSISPackageLog.txt";

      LogProvider provider = p.LogProviders.Add("DTS.LogProviderTextFile.2");
      provider.ConfigString = loggingConnection.Name;
      p.LoggingOptions.SelectedLogProviders.Add(provider);
      p.LoggingOptions.EventFilterKind = DTSEventFilterKind.Inclusion;
      p.LoggingOptions.EventFilter = new String[] { "OnPreExecute", 
         "OnPostExecute", "OnError", "OnWarning", "OnInformation" };
      p.LoggingMode = DTSLoggingMode.Enabled;

      // Add tasks and other objects to the package.

    }
  }
}
Integration Services 아이콘(작은 아이콘) Integration Services 관련 최신 정보 얻기

Microsoft의 최신 다운로드, 아티클, 예제 및 비디오와 커뮤니티의 정선된 솔루션을 보려면 MSDN의 Integration Services 페이지를 방문하십시오.


이러한 업데이트에 대한 자동 알림을 받으려면 해당 페이지에서 제공하는 RSS 피드를 구독하십시오.

커뮤니티 추가 항목

추가
표시: