4

我是 Sql Server Service Broker 的新手并正在尝试它。

我能够从一个数据库发送消息并在另一个数据库(同一个 SQL 服务器)中接收这些消息,并且我将这些消息插入到接收数据库中的一个表中。

到目前为止一切正常,但是每次我从源数据库发送消息时,我都必须转到目标数据库并手动运行 RECEIVE 查询以从接收队列中获取消息并插入表中。

我想在消息到达后立即自动从接收队列接收消息(或者按计划,比如每 10 分钟一次)并将它们插入到我的目标表中,而无需我手动执行。

一种选择是创建一个 SP 并安排它每 10 分钟运行一次。我不确定这是否是推荐的方式,或者是否有任何其他更好的方式来收听接收队列并在消息到达后立即自动检索消息。

任何帮助,将不胜感激。

4

1 回答 1

2

您正在寻找的是所谓的代理激活(特别是内部激活)。实质上,您可以将存储过程“附加”到服务代理队列,当消息出现在队列中时将调用该队列。在BOL中阅读所有相关信息。

于 2012-06-21T03:18:03.947 回答