若要使用 Microsoft SQL Server 事件提供程序,必须在应用程序定义中定义宿主事件提供程序。本主题介绍 SQL Server 事件提供程序所需的属性值和参数。
![]() |
---|
SQL Server 事件提供程序查询某个数据库。运行事件提供程序的 Windows 服务或应用程序所使用的帐户必须能够连接到该数据库且必须在该数据库中具有 SELECT 权限。 |
属性
定义 SQL Server 事件提供程序的属性时请使用下列指南。
- ProviderName(必需)必须是应用程序中的唯一名称。
- ClassName(必需)必须是 SQLProvider。
- 不要使用 AssemblyName 属性。Notification Services 会在 Microsoft.SqlServer.NotificationServices.dll 程序集中查找标准事件提供程序信息。
- SystemName(必需)通常是运行该宿主事件提供程序的计算机的名称。有关详细信息,请参阅定义宿主事件提供程序。
- 定义超时值(可选)。默认超时值是五分钟。
- 定义计划(必需)。有关详细信息,请参阅定义宿主事件提供程序。
参数
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 事件提供程序收集和筛选数据