다음을 통해 공유


파일 시스템 감시자 이벤트 공급자 정의

파일 시스템 감시자 이벤트 공급자를 사용하려면 응용 프로그램 정의에 호스팅된 이벤트 공급자를 정의하고 이벤트 데이터를 이벤트 필드에 매핑하는 Transact-SQL 주석 지정 XML 스키마 파일을 개발해야 합니다.

속성

다음 지침에 따라 파일 시스템 감시자 이벤트 공급자의 속성을 정의하십시오.

  • ProviderName(필수)은 응용 프로그램 내에서 고유한 이름이어야 합니다.
  • ClassName(필수)은 FileSystemWatcherProvider여야 합니다.
  • AssemblyName 속성은 사용하지 마십시오. Notification Services는 Microsoft.SqlServer.NotificationServices.dll 어셈블리에서 표준 이벤트 공급자 정보를 확인합니다.
  • SystemName(필수)은 일반적으로 호스팅된 해당 이벤트 공급자가 실행될 컴퓨터의 이름입니다. 자세한 내용은 호스팅된 이벤트 공급자 정의를 참조하십시오.
  • 제한 시간 값을 정의하지 마십시오. 파일 시스템 감시자 이벤트 공급자에는 자체적인 제한 시간 및 다시 시도 논리가 있습니다.
  • 일정을 정의하지 마십시오. 파일 시스템 감시자 이벤트 공급자는 연속 이벤트 공급자이므로 일정을 지원하지 않습니다.

인수

파일 시스템 감시자 이벤트 공급자에는 초기화 매개 변수로 사용되는 7개의 명명된 인수가 있습니다. 이러한 인수는 순서에 관계없이 지정할 수 있습니다.

  • WatchDirectory(필수)는 이벤트 공급자가 모니터링하는 디렉터리의 전체 경로 및 이름을 해당 값으로 지정합니다. 표준 또는 UNC(Universal Naming Convention) 명명 규칙을 사용할 수 있습니다.

  • EventClassName(필수)은 이 이벤트 공급자가 이벤트를 전송하는 이벤트 클래스의 이름을 지정합니다.

  • SchemaFile(필수)은 XML 파일 데이터를 적절한 이벤트 형식으로 변환하는 데 사용되는 Transact-SQL 주석 지정 XML 스키마가 들어 있는 파일의 전체 경로를 지정합니다. 자세한 내용은 파일 유효성 검사를 참조하십시오.

    [!참고] SchemaFile 인수에 제공된 Transact-SQL 주석 지정 XML 스키마는 이벤트 클래스에 정의된 모든 필드를 처리해야 합니다. 스키마 파일에 이벤트 필드가 없으면 파일 시스템 감시자 이벤트 공급자는 오류 "80004005: 문이 종료되었습니다"를 표시하며 실패하고 watch 디렉터리에는 .err 파일이 생성됩니다.

  • RetryAttempts(옵션)는 큐에서 파일을 제거하기 전에 잠긴 파일에 대한 액세스 시도 횟수를 지정합니다. 이 값은 정수이며 기본값은 10입니다. 자세한 내용은 파일 픽업 및 다시 시도 논리를 참조하십시오.

  • RetryQueueOccupancy(옵션)는 다시 시도 큐에 동시에 포함될 수 있는 파일 수를 지정합니다. 이 값은 정수이며 기본값은 1024입니다.

  • RetryPeriod(옵션)는 이벤트 공급자가 큐를 처리하는 빈도를 지정합니다. 이 값은 스레드가 끝나는 시점과 새 스레드가 시작되는 시점 사이의 기간(밀리초)을 지정하는 정수이며 기본값은 10000밀리초(10초)입니다. 값 0을 지정하면 이벤트 공급자가 시작될 때 다시 시도가 한 번 발생합니다.

  • RetryWorkload(옵션)는 단일 다시 시도 기간 동안 처리될 수 있는 큐의 최대 파일 수를 지정합니다. 이 값은 정수이며 기본값은 1024입니다.

호스팅된 이벤트 공급자를 정의하는 방법은 호스팅된 이벤트 공급자 정의를 참조하십시오.

예: 파일 시스템 감시자 이벤트 공급자 정의

다음 예에서는 ADF(응용 프로그램 정의 파일)에서 이름이 StockWatcher인 파일 시스템 감시자 이벤트 공급자를 정의하는 방법을 보여 줍니다.

<Providers>
   <HostedProvider>
      <ProviderName>StockWatcher</ProviderName>
      <ClassName>FileSystemWatcherProvider</ClassName>
      <SystemName>NSSERVER01</SystemName>
      <Arguments>
         <Argument>
            <Name>WatchDirectory</Name>
            <Value>C:\StockInfo\NewEvents</Value>
         </Argument>
         <Argument>
            <Name>EventClassName</Name>
            <Value>StockEvents</Value>
         </Argument>
         <Argument>
            <Name>SchemaFile</Name>
            <Value>C:\Schemas\StockEventSchema.xsd</Value>
         </Argument>
         <Argument>
            <Name>RetryAttempts</Name>
            <Value>15</Value>
         </Argument>
         <Argument>
            <Name>RetryQueueOccupancy</Name>
            <Value>100</Value>
         </Argument>
         <Argument>
            <Name>RetryPeriod</Name>
            <Value>50000</Value>
         </Argument>
         <Argument>
            <Name>RetryWorkload</Name>
            <Value>100</Value>
         </Argument>
      </Arguments>
   </HostedProvider>
</Providers>

참고 항목

개념

파일 픽업 및 다시 시도 논리
파일 유효성 검사

관련 자료

파일 시스템 감시자 이벤트 공급자
이벤트 공급자 정의
표준 이벤트 공급자

도움말 및 정보

SQL Server 2005 지원 받기