次の方法で共有


SQL Server イベント プロバイダの定義

Microsoft SQL Server イベント プロバイダを使用するには、ホストされるイベント プロバイダをアプリケーション定義で定義する必要があります。ここでは、SQL Server イベント プロバイダに必要なプロパティ値と引数について説明します。

ms166468.note(ja-jp,SQL.90).gifメモ :
SQL Server イベント プロバイダはデータベースに対してクエリを実行します。イベント プロバイダを実行する Windows サービスまたはアプリケーションが使用するアカウントには、データベースに接続するための SELECT 権限が必要です。

プロパティ

SQL Server イベント プロバイダのプロパティを定義する場合は、次のガイドラインに従ってください。

  • ProviderName (必須) は、アプリケーション内で一意な名前にする必要があります。
  • ClassName (必須) は、SQLProvider にする必要があります。
  • AssemblyName プロパティは使用しないでください。Notification Services は、Microsoft.SqlServer.NotificationServices.dll アセンブリで標準イベント プロバイダ情報を検索します。
  • SystemName (必須) は、通常、ホストされるイベント プロバイダを実行するコンピュータの名前です。詳細については、「ホストされるイベント プロバイダの定義」を参照してください。
  • タイムアウト値 (省略可) を定義します。既定のタイムアウト値は 5 分です。
  • スケジュール (必須) を定義します。詳細については、「ホストされるイベント プロバイダの定義」を参照してください。

引数

SQL Server イベント プロバイダには、初期化パラメータとして使用される名前付き引数が 3 つあります。これらは任意の順序で指定することができます。

  • EventsQuery (必須) は、その値としてイベント データを収集します。このクエリの唯一の制限は、イベント クラスに対して定義されたイベント フィールドにマップする列を返す必要があることです。イベント フィールドのすべての値を返す必要があります。
    この引数の値としてクエリまたはストアド プロシージャのいずれかを使用できます。ストアド プロシージャを使用する場合、値は EXECstored_procedure_name になります。
    SQL Server イベント プロバイダは、ローカルの SQL Server インスタンスに対して実行されます。クエリでリモート サーバー上のテーブルを使用する場合は、リンク サーバーを作成します。これにより、4 つの部分で構成される名前 (server.database.schema.object) を使用して、リモート サーバー上のオブジェクトにアクセスすることができます。詳細については、「リンク サーバーの委任用の構成」を参照してください。
  • PostQuery (省略可) は、イベント データが収集された後に要求される処理を実行します。この引数の値としてクエリまたはストアド プロシージャのいずれかを使用できます。ストアド プロシージャを使用する場合、値は EXECstored_procedure_name になります。
  • EventClassName (必須) は、このイベント プロバイダがイベントを送信するイベント クラスの名前を指定します。

ホストされるイベント プロバイダの定義の詳細については、「ホストされるイベント プロバイダの定義」を参照してください。

SQL Server イベント プロバイダの定義の例

次のコードは、アプリケーション定義ファイル (ADF) で SQLStock という名前の SQL Server イベント プロバイダを定義する方法を示しています。

<Providers>
    <HostedProvider>
        <ProviderName>SQLStock</ProviderName>
        <ClassName>SQLProvider</ClassName>
        <SystemName>SLEIPNIR</SystemName>
        <Schedule>
            <Interval>P0DT00H00M60S</Interval>
        </Schedule>
        <ProviderTimeout>PT4M</ProviderTimeout>
        <Arguments>
            <Argument>
                <Name>EventsQuery</Name>
                <Value>
                SELECT StockSymbol, StockPrice
                FROM StockTable
                </Value>
            </Argument>
            <Argument>
                <Name>EventClassName</Name>
                <Value>StockEvents</Value>
            </Argument>
        </Arguments>
    </HostedProvider>
</Providers>

参照

概念

SQL Server イベント プロバイダの定義
SQL Server イベント プロバイダのデータの収集とフィルタ処理

その他の技術情報

イベント プロバイダの定義
標準イベント プロバイダ

ヘルプおよび情報

SQL Server 2005 の参考資料の入手