我是Sql Server Service Broker的新手,并尝试过它。
我能够从一个数据库发送消息并在另一个数据库(同一个SQL服务器)中接收这些消息,我将这些消息插入接收数据库的表中。
到目前为止一切正常,但每次我从源数据库发送消息时,我都必须转到目标数据库并手动运行RECEIVE查询以从接收队列中获取消息并插入到表中。
我想在收到队列后立即自动收到这些邮件(或者按照时间表,比如说每10分钟一次),然后将它们插入我的目的地表,而不用手动操作。
一种选择是创建SP并安排每10分钟运行一次。我不确定这是否是推荐的方式,或者是否有其他更好的方式来收听接收队列并在消息到达后自动检索消息。
任何帮助都将不胜感激。
答案 0 :(得分:1)
您正在寻找的是所谓的经纪人激活(特别是内部激活)。实质上,您可以将存储过程“附加”到服务代理队列中,当队列中显示消息时将调用该队列。请在BOL中阅读所有相关内容。