SQL Server 2008中SQL应用系列--目录索引
导读:在上篇《SQL Server 2008中Service Broker基础应用(上)
》中,简要介绍了Service
Broker的一般步骤,本文继续介绍Service Broker的设置会话优先级,存储过程中实现。
一、Service Broker的设置会话优先级
自SQL Server 2008起,对非常活跃的Service Broker应用程序,提供了设置优先级的命令CREATE BROKER
PRIORITY(http://msdn.microsoft.com/en-us/library/bb934170.aspx
)。通过该命令,可以设置从1至10共10个等级的颗粒度来调试会话的优先级,默认为5。在此之前,你必须得首先打开HONOR_BROKER_PRIORITY开关。
通过sys.conversation_priorities目录视图,查询优先级
如果你希望包含服务和契约名称,可以将服务和从sys.conversation_priorities(http://msdn.microsoft.com/zh-cn/library/bb895280%28v=sql.100%29.aspx
)返回的契约ID与sys.service_contracts(http://msdn.microsoft.com/en-us/library/ms184378.aspx
),sys.services(http://msdn.microsoft.com/en-us/library/ms174429.aspx
)目录视图关联起来。
二、Service Broker的存储过程实现
在上文中,我们使用的临时T-SQL来演示Service broker的步骤,事实上,
我们完全可以通过存储过程或外部应用程序自动激活并处理队列中的消息。使用Create Queue(http://msdn.microsoft.com/en-us/library/ms190495.aspx
)和Alter
Queue(http://msdn.microsoft.com/en-us/library/ms189529.aspx
)选项,也可以指定可以激活并处理在同一队列中传入的消息的、同时执行的相同服务程序的数量。
继续上文的示例:
解析:该存储过程包含处理//SackConsulting/SendBookOrder和http://schemas.microsoft.com/SQL/ServiceBroker/EndDialog
消息类型的逻辑。如果发送发后者,特定会话的句柄的特定会话会结束。如果接收到图书订单消息类型,它的消息将插入到表中,并且返回订单确认信息。
可以使用Alter Queue命令修改既有的队列。这个命令使用与Create
Queue相同的选项,它允许改变队列的状态与保持期、待激活的存储过程、队列读取存储过程实例的最大数量以及过程的安全模式契约。
Alter Queue包括一个额外的参数Drop,它用来删除队列的所有存储过程激活设置。
使用Alter Queue命令将存储过程绑定到既有的队列:
为了测试BookStore数据库的新服务程序,开始一个会话并设置新顺序:
当队列Status=ON并且队列中到到达新消息时,执行存储过程来处理传入的消息。可以使用存储过程或外部程序,但使用存储过程的好处是,它们提供了处理消息、自动执行所有需要的响应和相关业务任务的简单的封装好的组件。
如果在目标队列上有存储过程被执行,并且激活新的接收到的消息,那么应该已经有订单确认消息返回到dbo.BookStoreQueue:
小结:本文主要介绍Service Broker的设置会话优先级,存储过程中实现。下文将介绍Service broker的远程实现。
邀月注:本文版权由邀月和CSDN共同所有,转载请注明出处。
助人等于自助!
3w@live.cn
分享到:
相关推荐
下面将详细阐述Service Broker的基础应用及其在SQL Server 2008中的实现步骤。 首先,Service Broker的核心功能是提供消息队列,它支持数据库之间的异步通信。这意味着在主业务流程中,发送方可以立即返回确认,而...
《Pro SQL Server 2008 Service Broker》是针对SQL Server 2008数据库系统中Service Broker特性的深入解析教程。Service Broker是SQL Server的一个重要组件,它为数据库间的异步通信提供了强大的支持,使得分布式...
### Pro SQL Server 2008 Service Broker:深入解析与应用 #### 一、SQL Server 2008 Service Broker简介 SQL Server 2008 Service Broker 是一种基于消息的平台,它允许应用程序在数据库之间异步地传递消息。这种...
Service Broker 是 SQL Server 2005 中引入的一个新功能,它使数据库管理员可以创建异步消息应用程序。Service Broker 应用程序由多个对象组成,包括消息队列、对话和服务_contract。消息队列是用于存储消息的数据库...
下面是一份关于 SQL Server Service Broker 基础知识介绍的PPT 文档,可以下载。 演讲者:EntLib.com MSN & Email:entlib@hotmail.com 如有任何技术问题或者培训需求,欢迎和我们联系或者留言。
在提供的资源中,`20060828--SQL Server 2005 ServiceBroker详解(二).pdf` 文件很可能包含了关于如何设置、配置和使用Service Broker 的详细教程,包括实例演示和最佳实践,这对于理解和掌握这一特性非常有帮助。...
SQL Server 2005 Service Broker 是一项强大的功能,它为数据库应用程序引入了可靠、可扩展的异步消息处理机制。Service Broker 解决了在数据库中实现高效排队操作的复杂性和挑战,使得开发人员能够更专注于业务逻辑...
10. **高级特性**:SQL Server 2008引入了许多新特性,如列存储索引、数据压缩、Service Broker(服务总线)以及Master Data Services(主数据服务),这些都是提升数据库功能和性能的重要工具。 本书不仅适合...
SQL Server 2008 JDBC驱动还支持一些高级特性,如读写分离、分布式事务、大数据类型处理(如XML和二进制数据)、JDBC批处理以及SQL Server特有的功能(如Service Broker或Integration Services)。 9. **错误处理*...
本书旨在深入讲解如何利用SQL Server 2005 Service Broker编程分布式消息应用程序。 ### SQL Server 2005 Service Broker概述 SQL Server 2005 Service Broker是一种基于消息传递的通信平台,它允许SQL Server...
在“SQL Server 2005 ServiceBroker详解(一)”这个资源中,可能包含了以下内容: - PowerPoint 演示文稿:详细介绍了Service Broker的基本概念、架构和工作原理,以及如何配置和管理服务、队列和对话。 - 视频教程...
通过对本书的学习,不仅可以掌握SQL Server 2008 的基础知识,还能深入了解Service Broker 这一强大组件的使用方法,这对于从事数据库管理和软件开发工作的人员来说是非常有价值的。无论是初学者还是有经验的专业...
Service Broker 是 Microsoft SQL Server 2005/2008/2012 中的新技术,它可帮助数据库开发人员生成安全、可靠且可伸缩的应用程序。本文档由 EntLib.com team 编写。
SQL Server Broker(SQL Service Broker,简称SSB)是微软在SQL Server中提供的一种异步消息队列技术,用于实现数据库间的可靠通信和异步处理。它允许数据库应用程序发送和接收消息,提供了高可用性、安全性和可扩展...
SQLServer2005_BC.msi 文件是这个向后兼容组件的安装程序,它包含了用于在更新的SQL Server环境中模拟SQL Server 2005环境的特定库和接口。安装此组件后,用户可以继续使用那些设计时依赖SQL Server 2005特性的应用...
标签中的“sqlserver”代表的是微软的数据库管理系统,它广泛应用于企业级的数据存储和处理。"驱动"在这里是指用于连接数据库的软件组件,比如SQLNCLI。"navicat"则指代Navicat工具,它是数据库管理和开发的利器。...
《SQL Server 2008从入门到精通》是一份全面介绍Microsoft SQL Server 2008数据库管理系统的学习资料,适合初学者和有一定基础的IT从业者。这份PPT旨在帮助用户掌握SQL Server 2008的核心功能和操作技巧,从而在实际...
- 高级特性如复制、分区、Service Broker等,以及与BI工具(如SSIS、SSAS、SSRS)的集成,可以帮助你进一步提升技能。 6. **社区与资源**: 微软提供了丰富的文档和在线资源,如MSDN、TechNet,还有Stack Overflow...