Service Broker的新功能。在1个数据库上设置启动器和目标队列/服务时出错

时间:2014-06-23 11:16:43

标签: sql-server service-broker

我创建了队列,服务,合同等。我使用AutoCreateLocal Binding。所有这些都是我创建的数据库开始的。我有一个激活的sp被激活。

当我按如下方式运行ssbdiagnose实用程序时

ssbdiagnose -E  -S . -d MyServiceBroker CONFIGURATION FROM SERVICE     //test.com/items/InitiatorService TO SERVICE //test.com/items/TargetService ON CONTRACT     //test.com/items/Contract
它给了我一个错误。

D  29975 MyServiceBroker User dbo does not have SEND permission on service     //test.com/items/TargetService
1 Errors, 0 Warnings

我明确授予两个服务的发送权,并在两个队列中接收公共角色。

GRANT RECEIVE ON dbo.InitiatorQueueItems TO public
GO
GRANT RECEIVE ON dbo.TargetQueueItems TO public
GO
GRANT SEND ON SERVICE::[//test.com/items/InitiatorService] to public
GO
GRANT SEND ON SERVICE::[//test.com/items/TargetService] to public
GO

我能做些什么才能做到这一点?

当我在合同上发送消息时,它会触发sp并删除消息,但我从未在目标队列上看到响应消息。

1 个答案:

答案 0 :(得分:0)

这条诊断信息似乎与它的工作无关。我的问题在我创建的激活存储过程中撒谎,不知何故陷入无限循环。