【问题标题】:Sending messages from multiple servers to one Service Broker Queue将消息从多台服务器发送到一个 Service Broker 队列
【发布时间】:2011-09-21 18:41:52
【问题描述】:

我有几个 SQL 服务器,它们的数据库支持两种不同的应用程序。我需要从每个数据库中捕获对类似数据的更改,但要按顺序处理它。 Service Broker 符合要求,我只有几个实施问题。

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

如果我想从LEGACYSERVER.DatabaseEXTENSIONSERVER.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


    【解决方案1】:

    这实际上是一个相当大的设置。我最终主要关注this tutorial

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-15
      • 1970-01-01
      • 1970-01-01
      • 2017-06-01
      • 2015-08-27
      • 2012-11-18
      • 1970-01-01
      • 2022-12-19
      相关资源
      最近更新 更多