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的变量避免重复。否则,可能会出现该问题。
出处:http://www.cnblogs.com/dbasys/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。