【问题标题】:How do I change the destination service name of a queue / service如何更改队列/服务的目标服务名称
【发布时间】:2010-08-23 15:48:11
【问题描述】:

我有一个 SQL Server 2005 Service Broker 队列“ProductChangeMes​​sages”和一个 Service Broker 服务“ProductChangeNotifications”。这对是SqlDependency 的支持,我正在尝试开始工作,但依赖项的 OnChanged 没有触发。当被监视的表发生更改时,订阅(通过select * from sys.dm_qn_subscriptions 的结果可见)被删除。

SELECT * FROM sys.transmission_queue 显示的队列中有消息,其队列名称为to_service_nametransmission_status 中有消息

找不到目标服务名称。确保正确指定了服务名称和/或提供了路由信息。

因此,生成消息的任何东西似乎都在尝试使用队列名称而不是服务名称作为to_service_name

如何更改它以使用正确的服务名称?

【问题讨论】:

    标签: sql-server sql-server-2005 service-broker


    【解决方案1】:

    你不能。首先,您需要从依赖基础架构中订阅正确的服务名称。

    要清理现有消息,您可以使用 big nuke 选项:alter database <dbname> set new_broker with rollback immediate;,它将清除所有现有对话/消息,但会保留所有服务/队列。细粒度的选项是通过end dialog <handle> with cleanup一一终止坏对话。

    【讨论】:

      猜你喜欢
      • 2011-04-22
      • 2018-09-04
      • 2016-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-17
      • 2021-04-25
      相关资源
      最近更新 更多