若要使用 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 事件提供者有三個用來作為初始化參數的具名引數。您可以依照任何順序來指定它們:
- EventsQuery (必要) 會收集事件資料來作為它的值。這個查詢的唯一限制是它必須傳回對應於定義給事件類別之事件欄位的資料行。所有事件欄位的值都必須傳回。
您可以利用查詢或預存程序來作為這個引數的值。若要使用預存程序,值便是 EXECstored_procedure_name。
SQL Server 事件提供者是針對本機 SQL Server 執行個體來執行的。如果您要在查詢中使用遠端伺服器中的資料表,請建立連結伺服器。這可讓您利用四部份名稱 (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 事件提供者的資料
附註: