我有几个SQL服务器,数据库支持两个不同的应用程序。我需要捕获来自每个数据库的类似数据的更改,但是按顺序处理它。 Service Broker符合要求,我只有几个实施问题。
我已经创建了一个“第三”数据库来扩展这两个应用程序。在这个数据库上,我启用了服务代理,创建了消息模式,契约,服务和队列。
如果我想从//mysite.com/extensions/message
向ExtensionsQueue
EXTENSIONSERVER.Database
发送LEGACYSERVER.Database
这类消息,是否需要运行SQL语句来创建这些消息(架构,合同,消息等)在每个数据库中我想与这个队列通信?看来,至少,我需要在每个数据库中使用消息模式来强制完整性。
假设我需要(这似乎只是有意义的话)我应该将每个服务器上的服务,队列等命名为相同,还是会导致问题?例如,我应该在EXTENSIONSERVER
//extensionserver/extensions/message
和//legacyserver/extensions/message
之类的名称上为服务命名吗?我是否甚至需要在LEGACYSERVER
上创建服务和队列,或者这样的路由会照顾它吗?
CREATE ROUTE
WITH
SERVICE_NAME = '//extensionserver/extensions/message',
ADDRESS = 'extensionserver:1433'