【发布时间】:2011-09-21 18:41:52
【问题描述】:
我有几个 SQL 服务器,它们的数据库支持两种不同的应用程序。我需要从每个数据库中捕获对类似数据的更改,但要按顺序处理它。 Service Broker 符合要求,我只有几个实施问题。
我创建了一个“第三个”数据库来扩展这两个应用程序。在这个数据库上,我启用了服务代理,创建了消息模式、合同、服务和队列。
如果我想从LEGACYSERVER.Database 向EXTENSIONSERVER.Database 上的ExtensionsQueue 发送这种//mysite.com/extensions/message 类型的消息,我是否需要运行SQL 语句来创建这些片段(架构、合同、消息等)在每个数据库中我想与这个队列交谈?看来,至少,我需要每个数据库中的消息模式来强制完整性。
假设我需要(这似乎才有意义)我应该将每台服务器上的服务、队列等命名为相同,还是会导致问题?例如,我应该将EXTENSIONSERVER 上的服务命名为//extensionserver/extensions/message 和//legacyserver/extensions/message 之类的名称吗?我什至需要在LEGACYSERVER 上创建服务和队列,还是像这样的路由会处理它?
CREATE ROUTE
WITH
SERVICE_NAME = '//extensionserver/extensions/message',
ADDRESS = 'extensionserver:1433'
【问题讨论】:
标签: c# sql-server-2008-r2 service-broker