mssql的队列插入和数据池触发插入 是怎么实现的

ayun00 2013-04-15 11:28:24
想对大数据量的业务下优化服务器, 搜了一些资料,
得到的答案是用异步+队列 也有说用数据池的, 但是具体怎么做 我没有找到
想请教一下具体做法
...全文
196 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ravb2 2013-04-19
  • 打赏
  • 举报
回复
就你发的网址就是了. 你要做的是.建立一个发送队列和接收队列. 在插入的过程 BEGIN DIALOG CONVERSATION @conversationHandle FROM SERVICE InitiatorService TO SERVICE 'TargetService' ON CONTRACT HelloWorldContract BEGIN DIALOG 开启一个会话 从InitiatorService 发送到 'TargetService' 发送的消息是HelloWorldContract 协议吧 这样返回一个 @conversationHandle句柄 就可以用send 命令发送 HelloWorldContract格式的消息到 目标服务'TargetService' SEND ON CONVERSATION @conversation_handle MESSAGE TYPE HelloWorldMessage (@message) ; 然后可以通过SELECT * FROM [dbo].[TargetQueue] 查询到队列的内容 用RECEIVE 语句,接收队列的信息 RECEIVE TOP(1) @conversation_handle = conversation_handle, @message_type_name = message_type_name, @message_body = CASE WHEN validation = 'X' THEN CAST(message_body AS XML) ELSE CAST(N'<none/>' AS XML) END FROM [dbo].[TargetQueue] WHERE conversation_group_id = @conversation_group_id ; 这个接收和处理的过程可以写成一个存储过程设为'TargetService'的处理过程,就可以在队列有信息的时候触发这个存储过程进行处理.
ayun00 2013-04-16
  • 打赏
  • 举报
回复
只找到一个 http://blogs.msdn.com/b/apgcdsd/archive/2012/07/27/sql-server-service-broker-demo.aspx 这个文档 没有看明白
發糞塗牆 2013-04-15
  • 打赏
  • 举报
回复
sql broker你去搜搜,好像是用这个来实现队列的

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧