SQL Server イベント プロバイダの定義
Microsoft SQL Server イベント プロバイダを使用するには、ホストされるイベント プロバイダをアプリケーション定義で定義する必要があります。ここでは、SQL Server イベント プロバイダに必要なプロパティ値と引数について説明します。
メモ : |
---|
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 イベント プロバイダのデータの収集とフィルタ処理