即使当我指定接收顶端(25)等时,我一次只能收到一条消息。不知道我在我的sproc里面做错了什么?可能有些微不足道,但我没有看到问题。服务代理一次只接收一条消息
存储过程:
CREATE PROCEDURE dbo.SPP_DEQUEUE_MESSAGE
AS
BEGIN
DECLARE @receiveTable TABLE(
message_type sysname,
message_body xml,
message_dialog uniqueidentifier);
BEGIN TRANSACTION;
WAITFOR
(RECEIVE TOP(25)
message_type_name,
message_body,
conversation_handle
FROM TargetQueue1DB
INTO @receiveTable
), TIMEOUT 3000;
SELECT
*
From @receiveTable;
Delete from @receiveTable;
COMMIT TRANSACTION;
END --End Sproc
任何想法,我做错了什么?
感谢,
乙
感谢Pawel我会看一看。我没有看到那部分......这可能是正在发生的事情。 – scarpacci 2010-12-16 15:47:53
您能否提供这方面的例子?我们从表INSERT触发器发送消息,因此必须为每个INSERT创建一个单独的对话。我希望批量接收所有可能的消息,但这并未发生,我也看不到如何在单个组中移动会话(即使在BEGIN DIALOG中使用WITH RELATED_CONVERSATION_GROUP) – Mikhail 2016-06-21 09:02:24