我已经设置了外部激活器,它执行一个简单的应用程序(作为启动),它所做的只是运行以下 sql 语句
WAITFOR(receive top(1) * from [dbo].[DBTriggersQueue]), TIMEOUT 5000;
我在表上有一个更新触发器,它将消息添加到队列中。
我的问题是,如果我运行多个更新脚本(4 个一个接一个更新),它会将消息添加到队列中并且我的 SBEA 会收到事件通知,但是它只收到 1-2 个事件通知(根据 EATrace 日志),因此只有我的简单应用程序处理了 2 条消息。
有谁知道在最初的 1/2 之后可能导致 SBEA 发送或接收通知的原因是什么?
这似乎与时间有关,因为如果我以几秒钟的延迟运行每个更新脚本,那么每次更新都会发送事件通知并处理消息。