다음을 통해 공유


Analysis Services 이벤트 공급자 정의

Analysis Services 이벤트 공급자를 사용하려면 응용 프로그램 정의에 호스팅된 이벤트 공급자를 정의해야 합니다. 이 항목에서는 Analysis Services 이벤트 공급자에 필요한 속성 값과 인수를 설명하고 각 MDX 쿼리 유형(정적 및 동적)의 예를 제공합니다.

[!참고] Analysis Services 이벤트 공급자는 지정된 Analysis Services 인스턴스에 연결하고 지정된 Analysis Services 데이터베이스를 쿼리합니다. 이벤트 공급자를 실행하는 Windows 서비스 또는 응용 프로그램이 사용하는 계정은 인스턴스에 연결할 수 있어야 하며 데이터베이스에서 SELECT 권한이 있어야 합니다.

속성

다음 지침에 따라 Analysis Services 이벤트 공급자의 속성을 정의하십시오.

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

인수

Analysis Services 이벤트 공급자는 8개의 명명된 인수를 사용합니다. 이러한 인수는 순서에 관계없이 지정할 수 있습니다.

  • EventClassName(필수)은 이 이벤트 공급자가 이벤트를 전송하도록 구성된 이벤트 클래스의 이름을 지정합니다.
  • AnalysisServicesInstance(필수)는 원격 컴퓨터에 있을 수 있으며 이벤트 공급자가 연결하는 Analysis Services 인스턴스의 이름을 지정합니다.
  • AnalysisServicesDatabase(필수)는 이벤트 공급자가 쿼리할 Analysis Services 데이터베이스의 이름을 지정합니다.
  • MDXQuery는 정적 쿼리에 필요하며 동적 쿼리에는 사용하면 안 됩니다.
    MDXQuery 값은 이벤트 데이터를 해당 값으로 수집하는 정적 MDX 쿼리입니다. 이 쿼리는 지정된 해당 열이 이벤트 클래스의 이벤트 필드와 같은 순서로 정확히 매핑되는 2차원 데이터를 반환해야 하며 모든 이벤트 필드 값이 반환되어야 합니다.
  • RowsQuery는 Transact-SQL 쿼리를 지정하며 쿼리 결과는 MDX 쿼리의 ROWS 축에 대한 요소를 동적으로 생성하기 위해 XSL 변환에서 사용됩니다. 정적 쿼리에는 이 인수를 사용하지 마십시오.
  • SlicerQuery는 Transact-SQL 쿼리를 지정하며 쿼리 결과는 MDX 쿼리의 slicer 부분(MDX WHERE 절)을 생성하기 위해 XSL 변환에서 사용됩니다. 정적 쿼리에는 이 인수를 사용하지 마십시오.
  • RowsQuery 또는 SlicerQuery를 사용할 때 필요한 XsltFileNameRowsQuerySlicerQuery(적용 가능한 경우)의 결과를 완전한 MDX 쿼리로 변환하는 데 사용되는 XSLT 파일 이름의 경로입니다. XSLT 파일의 예를 보려면 Notification Services에 대한 MDX 쿼리를 참조하십시오. 정적 MDX 쿼리를 사용할 경우에는 이 인수를 지정하면 안 됩니다.

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

정적 쿼리 정의

ADF(응용 프로그램 정의 파일)의 다음 XML은 정적 쿼리를 사용하는 Analysis Services 이벤트 공급자에 대한 예제 정의를 보여 줍니다.

<HostedProvider>
    <ProviderName>StaticASEventProvider</ProviderName>
    <ClassName>AnalysisServicesProvider</ClassName>
    <SystemName>%NSSystem%</SystemName>
    <Schedule>
        <Interval>P0DT00H00M02S</Interval>
    </Schedule>
    <ProviderTimeout>PT7M</ProviderTimeout>
    <Arguments>
        <Argument>
            <Name>EventClassName</Name>
            <Value>KPIEvents</Value>
        </Argument>
        <Argument>
            <Name>AnalysisServicesInstance</Name>
            <Value>%ASInstance%</Value>
        </Argument>
        <Argument>
            <Name>AnalysisServicesDatabase</Name>
            <Value>Adventure Works</Value>
        </Argument>
        <Argument>
            <Name>MDXQuery</Name>
            <Value>SELECT
      {[Measures].[Reseller Gross Profit Margin], 
      [Measures].[Reseller Order Quantity], 
      [Measures].[Reseller Sales Amount]} ON COLUMNS,
      {[Employee].[Employees].[Ken J. Snchez], 
      [Employee].[Employees].[Amy E. Alberts]} ON ROWS
FROM [Adventure Works] 
WHERE [Date].[Calendar].[CY 2002]</Value>
        </Argument>
    </Arguments>
</HostedProvider>

동적 쿼리 정의

ADF(응용 프로그램 정의 파일)의 다음 XML은 동적 쿼리를 사용하는 Analysis Services 이벤트 공급자에 대한 예제 정의를 보여 줍니다.

<HostedProvider>
    <ProviderName>DynamicASEventProvider</ProviderName>
    <ClassName>AnalysisServicesProvider</ClassName>
    <SystemName>%NSSystem%</SystemName>
    <Schedule>
        <Interval>P0DT00H00M02S</Interval>
    </Schedule>
    <Arguments>
        <Argument>
            <Name>EventClassName</Name>
            <Value>KPIEvents</Value>
        </Argument>
        <Argument>
            <Name>AnalysisServicesInstance</Name>
            <Value>%ASInstance%</Value>
        </Argument>
        <Argument>
            <Name>AnalysisServicesDatabase</Name>
            <Value>Adventure Works</Value>
        </Argument>
        <Argument>
            <Name>RowsQuery</Name>
            <Value>SELECT EmployeeFullName as Employee
                   FROM NSKPISubscriptionsView</Value>
        </Argument>
        <Argument>
            <Name>SlicerQuery</Name>
            <Value>SELECT DATEPART(year, DATEADD(year, -2, GETDATE()))</Value>
        </Argument>
        <Argument>
            <Name>XsltFileName</Name>
            <Value>C:\NS\Transforms\MDXTransform.xslt</Value>
        </Argument>
    </Arguments>
</HostedProvider>

참고 항목

개념

호스팅된 이벤트 공급자 정의
Notification Services에 대한 MDX 쿼리

관련 자료

표준 이벤트 공급자
Analysis Services 이벤트 공급자
MDX의 주요 개념(MDX)

도움말 및 정보

SQL Server 2005 지원 받기