Sql server 2008 r2 SQL Server Service Broker和批处理

Sql server 2008 r2 SQL Server Service Broker和批处理,sql-server-2008-r2,messaging,service-broker,Sql Server 2008 R2,Messaging,Service Broker,我对SQLServer(本例中为2008R2)ServiceBroker的理解正确吗?消息只根据对话进行批处理?换句话说,如果我有这样一个查询: DECLARE @messages TABLE( handle UNIQUEIDENTIFIER, message_body NVARCHAR(MAX), message_type_name SYSNAME ); RECEIVE TOP 5 conversation_handle, message_bod

我对SQLServer(本例中为2008R2)ServiceBroker的理解正确吗?消息只根据对话进行批处理?换句话说,如果我有这样一个查询:

DECLARE @messages TABLE(
     handle UNIQUEIDENTIFIER,
     message_body NVARCHAR(MAX),
     message_type_name SYSNAME
);

RECEIVE TOP 5
    conversation_handle,
    message_body,
    message_type_name
FROM dbo.MyMessageQueue
INTO @messages

SELECT conversation_handle, message_body FROM @messages

如果它们来自同一个对话,我将只返回五行?目前,我正在一次发送一个会话的消息,但是如果队列中有十条这样的消息,那么一次只返回一条。

RECEIVE
将只对属于一个会话组的消息进行排队。除非您进行显式会话组管理,否则每个会话都是自己的组。如果每次对话只发送一条消息,那么每次只会收到一条消息。这是一本书


RECEIVE
是一个运行成本相当高的语句,因此为了获得高吞吐量,您必须将更多消息分组在一起,通常是通过。

RECEIVE
将只对属于一个会话组的消息进行排队。除非您进行显式会话组管理,否则每个会话都是自己的组。如果每次对话只发送一条消息,那么每次只会收到一条消息。这是一本书


RECEIVE
是一个运行成本相当高的语句,因此为了获得高吞吐量,您必须将更多消息分组在一起,通常是通过。

RECEIVE
将只对属于一个会话组的消息进行排队。除非您进行显式会话组管理,否则每个会话都是自己的组。如果每次对话只发送一条消息,那么每次只会收到一条消息。这是一本书


RECEIVE
是一个运行成本相当高的语句,因此为了获得高吞吐量,您必须将更多消息分组在一起,通常是通过。

RECEIVE
将只对属于一个会话组的消息进行排队。除非您进行显式会话组管理,否则每个会话都是自己的组。如果每次对话只发送一条消息,那么每次只会收到一条消息。这是一本书

RECEIVE
是一个运行成本相当高的语句,因此为了获得高吞吐量,您必须将更多消息分组在一起,通常是通过