我创建了队列,服务,合同等。我使用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并删除消息,但我从未在目标队列上看到响应消息。
答案 0 :(得分:0)
这条诊断信息似乎与它的工作无关。我的问题在我创建的激活存储过程中撒谎,不知何故陷入无限循环。