Service Broker 常见问题

 

 问题1:

Service Broker 常见问题

 

 

队列 test.dbo.IncomingQueue 中运行的已激活过程 [dbo].[ReadIncomingMessageProc]
输出以下信息: 'Access to the remote server is denied because the current security context is not trusted.'
由于当前安全上下文不可信,因此访问远程服务器的请求遭到拒绝。

解决:
修改 运行Service Broker数据库的信任状态为可信任,注意一定不是远程目标数据库的信任状态
例如:
ALTER DATABASE [guoqiang] SET TRUSTWORTHY ON
GO


http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=668169&SiteID=1


 问题2:

事件类型: 信息
事件来源: MSSQLSERVER
事件种类: (2)
事件 ID: 9724
日期:  2008-4-16
事件:  10:26:19
用户:  N/A
计算机: QIANGGUO
描述:
队列 brokertest.dbo.IncomingQueue 中运行的已激活过程 [dbo].[ReadIncomingMessageProc_GOOD] 输出以下信息: 'The conversation endpoint is not in a valid state for SEND. The current endpoint state is 'DI'.'

解决:
? DI 已断开入站。会话的远程端已发出 END CONVERSATION。会话将保持此状态,直到会话的本地端发出 END CONVERSATION。应用程序仍然可以接收会话消息。由于会话的远程端已经结束了会话,因此应用程序无法通过此会话发送消息。当应用程序发出 END CONVERSATION 时,会话将转为 CD 状态。

? DI, or DISCONNECTED_INBOUND This means that the opposite end of the conversation has called END CONVERSATION but this endpoint hasn't. If you see many conversations in this state, the code handling this endpoint is not calling END CONVERSATION when it should.

在编写程序是,定义conversation_handle的变量避免重复。否则,可能会出现该问题。

原文地址:https://www.cnblogs.com/dbasys/p/2127595.html