2011-09-21 85 views
1

我有几台支持两种不同应用程序的数据库的SQL服务器。我需要捕获来自每个数据库的类似数据的更改,但是要按顺序处理它。 Service Broker符合法案,我只有几个实施问题。将消息从多个服务器发送到一个Service Broker队列

我创建了用于扩展两个应用程序的“第三”数据库。在这个数据库上,我启用了服务代理,创建了消息模式,合同,服务和队列。

如果我想从LEGACYSERVER.Database发送这类//mysite.com/extensions/message的消息发送到ExtensionsQueueEXTENSIONSERVER.Database,我是否需要运行SQL语句来创建每个数据库的碎片(架构,合同,信息等),我想谈从这个队列?看来,至少我需要每个数据库中的消息模式来强制完整性。

假设我需要(这似乎是有道理的)我应该命名每个服务器上的服务,队列等相同,否则会导致问题?例如,我应该在EXTENSIONSERVER上命名//extensionserver/extensions/message//legacyserver/extensions/message之类的服务吗?我是否甚至需要在LEGACYSERVER上创建一个服务并排队,或者像这样的路线照顾它?

CREATE ROUTE 
WITH 
    SERVICE_NAME = '//extensionserver/extensions/message', 
    ADDRESS = 'extensionserver:1433' 

回答

0

这实际上被证明是相当的设置。我最后主要关注this tutorial

它没有提到的一个关键点是外部数据库实例的路由需要位于MSDB数据库中。

相关问题