NSEventBeginBatch<EventClassName> (Transact-SQL)
为 Microsoft SQL Server Notification Services 应用程序新建一个事件批次。通常使用该存储过程打开一个新事件批次,以便使用 Transact-SQL 提交单个事件。有关详细信息,请参阅“备注”部分。
语法
[ schema_name . ] NSEventBeginBatchEventClassName
[ @ProviderName = ] 'event_provider_name',
[ @EventBatchId = ] event_batch_variable OUTPUT
参数
[ @ProviderName =] 'event_provider_name'
用于提交事件的事件提供程序名称。event_provider_name 的数据类型为 nvarchar(255),无默认值。
[ @EventBatchId =] event_batch_variable OUTPUT
分配给事件批次的标识号(如果成功创建了事件批次)。event_batch_variable 是类型为 bigint 的输出变量,无默认值。
返回代码值
0(成功)或 1(失败)
结果集
列名 | 数据类型 | 说明 |
---|---|---|
EventBatch |
Bigint |
为新事件批次创建的事件批次 ID。 |
备注
创建实例时,Notification Services 将在应用程序数据库中创建 NSEventBeginBatchEventClassName 存储过程。当您更新应用程序时,Notification Services 会重新编译此存储过程。
此存储过程位于应用程序的架构中,该架构由应用程序定义文件 (ADF) 的 SchemaName 元素指定。如果没有提供架构名称,默认架构为 dbo。
若要使用 Transact-SQL 向应用程序提交各个事件,请使用 NSEventBeginBatchEventClassName 打开批次,使用 NSEventWriteEventClassName 编写各个事件,然后使用 NSEventFlushBatchEventClassName 关闭事件批次。
若要使用查询获取一组事件,并将这些事件提交到某个应用程序,请使用 NSEventSubmitBatchEventClassName。
权限
执行权限默认授予 NSEventProvider 和 NSRunService 数据库角色、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';
由于事件批次 ID 是在 SELECT 语句中返回的,因此该示例假定您使用的是 SQL Server Management Studio,以便查看已创建的事件批次。
请参阅
参考
Notification Services 存储过程 (Transact-SQL)
其他资源
Notification Services 性能报告
SchemaName Element (ADF)