NSEventFlushBatch<EventClassName> (Transact-SQL)

关闭由 NSEventBeginBatchEventClassName 打开的事件批次。此存储过程将提交事件集合事务,然后将事件批次标记为已完成。如果要使用 Transact-SQL 提交单个事件,则通常需要使用此存储过程。请参阅“备注”部分以获取详细信息。

语法

[ schema_name . ] NSEventFlushBatchEventClassName
    [ @EventBatchId = ] event_batch_ID
    [, [@EventCount = ] number_of_events]

参数

[ @EventBatchId =] event_batch_ID

要提交的事件批次的 ID 号。event_batch_ID 的数据类型为 bigint,无默认值。

[ @EventCount =] number_of_events

事件批次所要提交的事件数。存储过程通过查询事件表可获得该参数的默认值。

返回代码值

0(成功)或 1(失败)

结果集

列名 数据类型 说明

EventCount

bigint

事件批次中提交的事件数。此数值可以在 @EventCount 参数中指定,也可以通过查询事件表获取。

备注

创建实例时,Notification Services 会在应用程序数据库中创建 NSEventFlushBatchEventClassName 存储过程。在更新应用程序时,Notification Services 会重新编译此存储过程。

此存储过程位于应用程序的架构中,该架构由应用程序定义文件 (ADF) 的 SchemaName 元素指定。如果没有提供架构名称,则默认架构为 dbo

若要使用 Transact-SQL 向应用程序提交各个事件,请使用 NSEventBeginBatchEventClassName 打开批次,使用 NSEventWriteEventClassName 编写各个事件,再使用 NSEventFlushBatchEventClassName 关闭事件批次。

若要使用查询获取一组事件,再将这些事件提交到某个应用程序,请使用 NSEventSubmitBatchEventClassName

权限

执行权限默认授予 NSEventProviderNSRunService 数据库角色、db_owner 固定数据库角色和 sysadmin 固定服务器角色的成员。

示例

下面的示例说明如何开始一个事件批次,编写一个事件,再关闭该事件批次。该事件批次的事件提供程序是 StockEP,而事件批次 ID 号会在 @BatchID 输出参数中返回。

应用程序使用默认的 SchemaName 设置,这会将所有应用程序对象置于 dbo 架构中。

DECLARE @BatchID bigint;
EXEC dbo.NSEventBeginBatchStockEvents N'StockEP', @BatchID OUTPUT;
EXEC dbo.NSEventWriteStockEvents
   @EventBatchId=@BatchID,
   @StockSymbol=N'AWKS',
   @StockPrice=68.14;
EXEC dbo.NSEventFlushBatchStockEvents @BatchID;
SELECT @BatchID 'Event Batch';

此示例假定您使用的是 Microsoft SQL Server Management Studio,由于 SELECT 语句中返回了事件批次 ID,因此可以查看所创建的事件批次。

请参阅

参考

Notification Services 存储过程 (Transact-SQL)

其他资源

Notification Services 性能报告
SchemaName Element (ADF)

帮助和信息

获取 SQL Server 2005 帮助