1、消息类型定义:
消息类型,是信息交换的模板、create message type message_type_name validattion = well_formed_xml;
2、约定定义:
约定,指示任务使用的消息 create contract contract_name (message_type_name sent by initiator |target | all [....]);
3、队列定义:
队列是信息的集合: create queue queue_name with status = on;
4、服务定义:
服务定义端口用来把消息绑定到一个或多个约定上 create service service_name on queue queue_name(contract_name_list);
例子:
create database bookstore;
create database bookdistribution;
----时间 执行者 目的
----2014-10-30 蒋乐 创建两个数据库用于测试 service broker!
go
use bookstore;
alter database bookstore
set enable_broker;
alter database bookstore
set trustworthy on;
create master key
encryption by password ='123456';
----时间 执行者 目的
----2012-10-30 蒋乐 配制数据库的 3(enable_broker\trustworthy\master key) 个选项使它支持 service borker
go
use bookdistribution;
alter database bookdistribution
set enable_broker;
alter database bookdistribution
set trustworthy on;
create master key
encryption by password = '123456';
----时间 执行者 目的
----2012-10-30 蒋乐 配制数据库的 3(enable_broker\trustworthy\master key) 个选项使它支持 service borker
go
use bookstore;
create message type [send_to_distribution]
validation = well_formed_xml;
create message type [send_to_distribution_received]
validation = well_formed_xml;
create contract [send_to_distribution_contract](
[send_to_distribution] sent by initiator,
[send_to_distribution_received] sent by target);
----时间 执行者 目的
----2012-10-30 蒋乐 定义消息类型与约定、(注意在两个相互通信的数据库中
--要有一样的消息类型与约定才可以通信。
go
use bookdistribution;
create message type [send_to_distribution]
validation = well_formed_xml;
create message type [send_to_distribution_received]
validation = well_formed_xml;
create contract [send_to_distribution_contract](
[send_to_distribution] sent by initiator,
[send_to_distribution_received] sent by target);
----时间 执行者 目的
----2012-10-30 蒋乐 定义消息类型与约定。
go
use bookstore;
create queue [send_to_bookdistribution_queue]
with
status = on;
----时间 执行者 目的
----2012-10-30 蒋乐 定义队列
go
use bookdistribution;
create queue [send_to_bookdistribution_queueBookDistribution]
with
status = on;
----时间 执行者 目的
----2012-10-30 蒋乐 定义队列
go
use bookstore;
create service [send_to_distribution_service_bookstore]
on queue send_to_bookdistribution_queue(send_to_distribution_contract);
----时间 执行者 目的
----2012-10-30 蒋乐 定义服务
go
use bookdistribution
create service [send_to_distribution_service_bookdistribution]
on queue send_to_bookdistribution_queueBookDistribution(send_to_distribution_contract);
----时间 执行者 目的
----2012-10-30 蒋乐 定义服务
go
use bookstore;
declare @handle uniqueidentifier;
declare @message xml;
begin dialog conversation @handle
from service send_to_distribution_service_bookstore
to service 'send_to_distribution_service_bookdistribution' -- ! _ ! -- :因为它定义在别的数据库中、所以不可以用名字。要用字符串。
on contract send_to_distribution_contract;
set @message = '<Person>11436101</Person>';
send on conversation @handle message type send_to_distribution
(@message);
----时间 执行者 目的
----2012-10-30 蒋乐 发送一个异步的消息
go
use bookdistribution;
select * from dbo.send_to_bookdistribution_queueBookDistribution;
----时间 执行者 目的
----2012-10-30 蒋乐 查看发送过来的消息
go
SQL Server Service Borker 1的更多相关文章
-
The SQL Server Service Broker for the current database is not enabled
把一个数据恢复至另一个服务器上,出现了一个异常: The SQL Server Service Broker for the current database is not enabled, and ...
-
SQL Server Service Broker创建单个数据库会话
概述 SQL Server Service Broker 用来创建用于交换消息的会话.消息在目标和发起方这两个端点之间进行交换.消息用于传输数据和触发消息收到时的处理过程.目标和发起方既可以在同一数据 ...
-
SQL Server Service Broker创建单个数据库会话(消息队列)
概述 SQL Server Service Broker 用来创建用于交换消息的会话.消息在目标和发起方这两个端点之间进行交换.消息用于传输数据和触发消息收到时的处理过程.目标和发起方既可以在同一数据 ...
-
在Windows Server 2008 R2 Server中,连接其他服务器的数据库遇到“未启用当前数据库的 SQL Server Service Broker,因此查询通知不受支持。如果希望使用通知,请为此数据库启用 Service Broker ”
项目代码和数据库部署在不同的Windows Server 2008 R2 Server中,错误日志显示如下: "未启用当前数据库的 SQL Server Service Broker,因此查 ...
-
SQL Server Service Broker(简称SSB)资料
SQL server Service Broker (下面简称SSB) 是SQL server 里面比较独特的一个功能.它可帮助开发人员构建异步的松散耦合应用程序.SSB的一些功能和好处包括有: 数据 ...
-
SQL Server Service Broker 简单例子 (转)
SQL Server Service Broker服务体系结构 消息类型 — 定义应用程序间交换的消息的名称.还可以选择是否验证消息.约定 — 指定给定会话中的消息方向和消息类型.队列 — 存储消息. ...
-
sql server Service Broker 相关查询
sql server Service Broker 相关查询 -- 查看传输队列中的消息 --如果尝试从队列中移除时,列将表明哪里出现了问题 select * from sys.transmissio ...
-
Reusing dialogs with a dialog pool--一个sql server service broker例子
一个sql server service broker例子 ----------------------------------- USE master GO -------------------- ...
-
SQL问题:未启用当前数据库的 SQL Server Service Broker
数据库分离后,附加回到数据库,然后在程序中打开调用数据库的页面,出现如下问题:“未启用当前数据库的 SQL Server Service Broker,因此查询通知不受支持.如果希望使用通知,请为此数 ...
随机推荐
-
[Spring框架]Spring IOC的原理及详解。
这里感谢 CSDN 的原博客:http://blog.csdn.net/m13666368773/article/details/7802126 看后 受益匪浅,这里再重温一遍Spring IOC ...
-
关于.Net的面试遐想
概述 这几天更新相关的面试题目,主是要针对有4年或以上经验的面试者,总体来说,发现面试人员的答题效果和预期相差比较大,我也在想是不是我出的题目偏离现实,但我更愿意相信,是我们一些.Net开发者在工作中 ...
-
UVALive 6910 Cutting Tree(离线逆序并查集)
[题目]:(地址:) http://acm.hust.edu.cn/vjudge/contest/view.action?cid=97671#problem/E [题意]: 给出多棵树和两类操作:操作 ...
-
Duplicate Protocol Definition of DTService Is Ignored
1. 很多的情况是由于重复导入Protocol导致的. 例如:import "Protocol1.h" import "Protocol1.h" 在同一项目中 ...
-
nginx和apache的优缺点比较
简单的说apache httpd和nginx都是web服务器,但两者适应的场景不同,也就是两者专注于解决不同的问题.apache httpd:稳定.对动态请求处理强,但同时高并发时性能较弱,耗费资源多 ...
-
使用ObjectInputStream的readObject()方法如何判断读取到多个对象的结尾
摘自http://blog.csdn.net/fjdingsd/article/details/46765803 使用ObjectInputStream的readObject()方法如何判断读取到多个 ...
-
linux serial 登录 cubieboard
折腾半天linux下的putty,最后搞得实在没办法,放弃putty改用minicom 1. 先安装minicom sudo apt-get install minicom 2.配置com minic ...
-
Python怎么样入门?Python基础入门教程
给大家整理的这套python学习路线图,按照此教程一步步的学习来,肯定会对python有更深刻的认识.或许可以喜欢上python这个易学,精简,开源的语言.此套教程,不但有视频教程,还有源码分享,让大 ...
-
Python闭包
1.概述 闭包是在其词法上下文中引用*变量的函数. >>> def foo(): ... m=3 ... n=5 ... def bar(): ... a=4 ... return ...
-
kvm动态添加硬盘
1.创建硬盘. qemu-img create -f qcow2 /data/data_root/vm-images/xxxx.qcow2 20G 2.添加硬盘 方式1.动态添加: virsh att ...