2010-08-23 55 views
0

我有一個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_name顯示在隊列中的消息,並在transmission_status他們

目標服務名稱找不到。確保正確指定了服務名稱和/或提供了路由信息。

因此看起來無論是生成消息都試圖使用隊列名稱而不是服務名稱作爲to_service_name

我該如何改變它以便使用正確的服務名稱?

回答

1

你不能。您需要先從您的依賴關係基礎架構中訂閱適當的服務名稱。

要清理現有消息,您可以使用大核彈選項:alter database <dbname> set new_broker with rollback immediate;這將消除每個現有的對話/消息,但會留下所有服務/隊列。細粒度選項是通過end dialog <handle> with cleanup逐個終止不良對話。

相關問題