sql-server – 为什么我需要两个SQL Server Service Broker队列

我在网上找到的使用SQL Server Service Broker队列的所有示例似乎都有两个队列.我不明白为什么,每个例子似乎都认为这是显而易见的,没有必要解释. 有几件事会写入我的队列,一个存储过程将从中读取并插入到数据库中.为什么我需要两个队列? 例如:http://www

我在网上找到的使用SQL Server Service Broker队列的所有示例似乎都有两个队列.我不明白为什么,每个例子似乎都认为这是显而易见的,没有必要解释.

有几件事会写入我的队列,一个存储过程将从中读取并插入到数据库中.为什么我需要两个队列?

例如:http://www.techrepublic.com/article/use-service-broker-internal-activation-in-sql-server-2005/6156264#

解决方法

从技术上讲,您可以在应用程序中使用SSB技术使用一个队列.在这种情况下,此队列来自发起者的请求消息和来自目标的响应消息.您的存储过程应该实现相互区分的机制,对它们进行排序,确定哪个响应针对哪个请求等等.另外请记住,从这个队列中按顺序RECEIVE消息,你不能跳过其中一些消息并留在队列中进行进一步处理.

在您的情况下,可能更好地遵循Remus Rusanu的答案并使用数据库表实现您的队列?

SSB的想法很简单 – 发起者将请求消息放入Target的队列,同时在自己的队列中等待来自Target的响应消息.是你的情况吗?如果不是,也许你根本不需要SSB?

关于作者: dawei

【声明】:石家庄站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

为您推荐