最新标注
热门标注
历史更新
站点地图
RSS
Home
CrazyCoder
»
原创
»
it评论
»
it业界
»
互联网
»
精品软件
开发语言
»
网络编程
编程综合
嵌入式开发
算法
英文资料
汇编语言
PowerBuilder
p2p技术
验证码识别
DotNet
Java教程
C语言教程
C 教程
Delphi教程
VB教程
QQ协议开发
项目管理
»
数据库
»
Web开发
»
Python
Css教程
XML教程
网页特效
PhotoShop教程
Illustrator教程
CorelDraw教程
Ruby教程
CorelDraw教程
网站安全
开发平台-工具
Web
PHP教程
Flash教程
Ajax教程
Javascript教程
Html教程
Dreamweaver
Asp教程
技术综合
»
软件测试
办公软件
QQ相关
Windows
网络技术
游戏开发
软件工程
软件教程
编程思想
游戏开发
外挂开发
OpenApi
AutoCad
广告设计
3D设计
平面设计相关
移动手机开发
服务器
»
Linux
Unix/FreeBsd
web服务器
服务器技术
安全
博文摘选
»
翻译
首页
»
博文摘选
» SQL Server 2008中远程Service Broker实现
Rss订阅
SQL Server 2008中远程Service Broker实现
on 2011-5-5
in
博文摘选
|
0 Comment
上文SQL Server 2008中Service Broker基础应用(上) 、SQL Server 2008中 Service Broker基础应用(下)
演示了在同一个SQL Server实例的不同数据库之间实现Service Broker,其实,更常见的是在不同的SQL Server实例之间进行通信,本文将通过实例演示如何进行Service Broker远程通信。
以下是实现远程Service Broker的基本步骤:
一、启用传输安全
二、启用对话安全
三、创建路由
四、创建远程服务绑定
下图显示的是两个 SQL Server 实例间的 Service Broker 网络通信的高级视图。
准备工作:
/************************************************************/ ------远程Service Broker ------ 3w@live.cn -----源服务器实例,在本例中为ap4\agronet09 USE master GO -- Enable Service Broker for the database ALTER DATABASE BookStore SET ENABLE_BROKER GO ALTER DATABASE BookStore SET TRUSTWORTHY _disibledevent=>
一、启用传输安全
在Service Broker的安全传输,是指两个SQL Server实例之间进行网络连接时,启用或限制它们之间的加密通信。传输安全是在SQL Server实例级别,因此这个示例演示如何创建在两个SQL Server实例的主数据库对象。您可以选择两种形式的运输安全:Windows身份验证或基于证书的安全认证。
-- Enabling Transport Security -- 在源实例上执行 Ap4\agronet09 USE master GO CREATE MASTER KEY ENCRYPTION BY PASSWORD = '1294934A!' -- 在目标实例上执行 Ap2\agronetserver USE master GO CREATE MASTER KEY ENCRYPTION BY PASSWORD = '1294934B!' -- 在源实例上执行 Ap4\agronet09 CREATE CERTIFICATE AP4MasterCert WITH SUBJECT = 'Ap4 Transport Security SB', EXPIRY_DATE = '5/4/2012' GO -- 在目标实例上执行 Ap2\agronetserver CREATE CERTIFICATE AP2MasterCert WITH SUBJECT = 'AP2 Transport Security SB', EXPIRY_DATE = '5/4/2012' GO -- 在源实例上执行 Ap4\agronet09 BACKUP CERTIFICATE AP4MasterCert TO FILE = 'H:\SqlBackup\AP4MasterCert.cer' GO -- 在目标实例上执行 Ap2\agronetserver BACKUP CERTIFICATE AP2MasterCert TO FILE = 'H:\SqlBackup\AP2MasterCert.cer' GO -- 在源实例上执行 Ap4\agronet09 CREATE ENDPOINT SB_AP4_Endpoint STATE = STARTED AS TCP (LISTENER_PORT = 4020) FOR SERVICE_BROKER (AUTHENTICATION = CERTIFICATE AP4MasterCert, ENCRYPTION = REQUIRED) GO -- 在目标实例上执行 Ap2\agronetserver CREATE ENDPOINT SB_AP2_Endpoint STATE = STARTED AS TCP (LISTENER_PORT = 4021) FOR SERVICE_BROKER (AUTHENTICATION = CERTIFICATE AP2MasterCert, ENCRYPTION = REQUIRED) GO -- 在源实例上执行 Ap4\agronet09 CREATE LOGIN SBLogin WITH PASSWORD = 'Used4TransSec' GO CREATE USER SBUser FOR LOGIN SBLogin GO -- 在目标实例上执行 Ap2\agronetserver CREATE LOGIN SBLogin WITH PASSWORD = 'Used4TransSec' GO CREATE USER SBUser FOR LOGIN SBLogin GO -- 在源实例上执行 Ap4\agronet09 GRANT CONNECT _disibledevent=>
二、启用对话安全
/***********************************************************************/ -- Enabling Dialog Security -- 在源实例上执行 Ap4\agronet09 USE BookStore GO CREATE MASTER KEY ENCRYPTION BY PASSWORD = '1294934A!' GO CREATE CERTIFICATE BookStoreCert WITH SUBJECT = 'BookStore SB cert', EXPIRY_DATE = '5/4/2012' GO -- 在目标实例上执行 Ap2\agronetserver USE BookDistribution GO CREATE MASTER KEY ENCRYPTION BY PASSWORD = '1294934B!' GO CREATE CERTIFICATE BookDistributionCert WITH SUBJECT = 'BookDistributionCert SB cert', EXPIRY_DATE = '5/4/2012' GO -- 在源实例上执行 Ap4\agronet09 USE BookStore GO BACKUP CERTIFICATE BookStoreCert TO FILE = 'H:\SqlBackup\BookStoreCert.cer' GO -- 在目标实例上执行 Ap2\agronetserver USE BookDistribution GO BACKUP CERTIFICATE BookDistributionCert TO FILE = 'H:\SqlBackup\BookDistributionCert.cer' GO -- 在源实例上执行 Ap4\agronet09 USE BookStore GO CREATE USER BookDistributionUser WITHOUT LOGIN GO -- 在目标实例上执行 Ap2\agronetserver USE BookDistribution GO CREATE USER BookStoreUser WITHOUT LOGIN GO -- 在源实例上执行 Ap4\agronet09 ----需要从AP2上复制到AP4下H:\SqlBackup,邀月注 USE BookStore GO CREATE CERTIFICATE BookDistributionCert AUTHORIZATION BookDistributionUser FROM FILE = 'H:\SqlBackup\BookDistributionCert.cer' GO -- 在目标实例上执行 Ap2\agronetserver ----需要从AP4上复制到AP2下H:\SqlBackup,邀月注 USE BookDistribution GO CREATE CERTIFICATE BookStoreCert AUTHORIZATION BookStoreUser FROM FILE = 'H:\SqlBackup\BookStoreCert.cer' GO -- 在源实例上执行 Ap4\agronet09 USE BookStore GO GRANT SEND _disibledevent=>http://msdn.microsoft.com/en-us/library/ms186742.aspx )创建路由
/************************创建路由 3w@live.cn****************/ -- 在源实例上执行 Ap4\agronet09 USE BookStore GO CREATE ROUTE Route_BookDistribution WITH SERVICE_NAME = '//SackConsulting/BookDistributionService', ADDRESS = 'TCP://192.168.1.99:4021' GO -- 在目标实例上执行 Ap2\agronetserver USE BookDistribution GO ----SERVICE BROKER 609 CREATE ROUTE Route_BookStore WITH SERVICE_NAME = '//SackConsulting/BookOrderService', ADDRESS = 'TCP://192.168.1.6:4020' GO
四、创建远程服务绑定
使用命令:CREATE REMOTE SERVICE BINDING(http://msdn.microsoft.com/en-us/library/ms178024.aspx )创建远程服务绑定
/*********************创建远程服务绑定 3w@live.cn ***********/ -- 在源实例上执行 Ap4\agronet09 USE BookStore GO CREATE REMOTE SERVICE BINDING BookDistributionBinding TO SERVICE '//SackConsulting/BookDistributionService' WITH USER = BookDistributionUser GO -- 在目标实例上执行 Ap2\agronetserver USE BookDistribution GO CREATE REMOTE SERVICE BINDING BookStoreBinding TO SERVICE '//SackConsulting/BookOrderService' WITH USER = BookStoreUser GO -- 在源实例上执行 Ap4\agronet09 Use BookStore GO DECLARE @Conv_Handler uniqueidentifier DECLARE @OrderMsg xml; BEGIN DIALOG CONVERSATION @Conv_Handler FROM SERVICE [//SackConsulting/BookOrderService] TO SERVICE '//SackConsulting/BookDistributionService' ON CONTRACT [//SackConsulting/BookOrderContract]; SET @OrderMsg = '<order id="3439" customer="22" orderdate="9/25/2008"> <LineItem ItemNumber="22" ISBN="1-59059-592-0" Quantity="10" /> </order>'; SEND _disibledevent=>-- 在目标实例上执行 Ap2\agronetserver USE BookDistribution GO SELECT message_type_name, CAST(message_body as xml) message, queuing_order, conversation_handle, conversation_group_id FROM dbo.BookDistributionQueue
最终结果:
参考:
1、Service Broker 通信协议
http://msdn.microsoft.com/zh-cn/library/ms166061%28v=sql.100%29.aspx
邀月注:本文版权由邀月和CSDN共同所有,转载请注明出处。
助人等于自助!
[email protected]
Tags:
延伸阅读
最新评论
发表评论
昵称
评论
验证码
点击图片更换
赞助商广告
随机更新
WPF快速指导14:变换
创意的概念,【1016】从产品创意到产品概念
腾讯微博听众,"打造超高听众腾讯微博 技术交流
诺基亚与微软合作,诺基亚与微软合作的机遇与风险
blogilo,测试一下blogilo。。。。
互动百科:新网站‘小百科’即日上线
南京老人卡,南京老人发明反偷窥键盘
matlab安装,MATLAB安装问题
马云谈淘宝假货:五万分之一总有混蛋
盛大微博,盛大“推他”测试图曝光 或将增加微博同步功能
网游盘点,昔日风云今何在?国内老牌网游最新动态盘点
该乡菜农社区,运营商该为菜农做点什么呢?
史玉柱微博,巨人成立微博客服团队 史玉柱亲自挂帅
easybcd,通过easyBCD将linux的启动菜单加入到Windows 的启动菜单
电商分享心得,日本电商成功经验干货分享之二
oracle下载,ORACLE PL/SQL编程之八:把触发器说透
zynga,EA公司2号人物离职加盟Zynga
Qik 升级:让 Android 和 iOS 跨平台视频聊天
evermore,永中(Evermore)之梦
盗版爱情迅雷下载,是什么让迅雷执着于盗版资源
磁盘文件系统,在一个文件里创建一个文件系统,将是一个新的磁盘,有木有!!!
在SQL SERVER中实现事务的部分回...
面向对象数据库,检查数据库对象是否存在
photoshop 教程下载链接(2011.04.26更新)
在脚本上写计时器,利用 JavaScript 写的计时器
mysql数据库,MySql数据库与hibernate连接超过八小时失...
JavaScript 获取未知对象的属性
苏宁易购京东,苏宁易购、国美库巴和京东的生死决战
谷歌智能手机,谷歌报告称39%智能手机在洗手间内使用
ampquot,微软六月展示基于HTML应用程序的下一代平台"C3"
热门标注
重庆中设
(1)
牧童骑黄牛
(1)
qq信任登录
(1)
ios播放器
(1)
亚马逊播放器下载
(1)
黄牛交易市场
(1)
亚马逊播放器
(1)
qq信任网站
(1)
亚马逊云播放器
(1)
手机qq不受信任
(1)
中国黄牛交易市场
(1)
愤怒的小鸟中国
(1)
暴雪商城
(1)
a股一季度净利润
(1)
第一季度净利润
(1)
大敌乐队
(1)
如什么大敌
(1)
如临大敌的意思
(1)
腾讯华谊兄弟
(1)
大敌当前
(1)
最近更新
invoking,Siebel Exception: SBL-BPR-00162: Error invoking service '%1', method '%2' at step '%3'.
痛经怎么快速解决,如何快速签署基于产品实施的项目业务解决方案
android,Android良好的权限设计——给想要在后台做点手脚的开发者或者公司
听课笔记,编译原理听课笔记_1
wpf示例,WPF读写excel的完整示例-excel文件合并工具
java初学,Java初学(一)
methods,改善代码设计 —— 优化函数的构成(Composing Methods)
form表单提交,asp.net 模拟form表单get、post提交
自控能力,自控能力这是天生的么?
永中科技破产,法院裁定永中科技破产
xp关机对话框,如何解决Windows XP登录对话框不出来的问题。
ASP.NET MVC3.0 入门指南 5 从控制器访问模型数据
苏北计划,6.3 处理计划
wcf框架,Wcf通讯基础框架方案(六)解决方案说明以及源代码
批次管理,批次管理/分类系列2-组织范围(权限设置)
优化算法,ABAP 算法优化
Ubuntu 11.04安装配置Android开发环境
call生成器,CALL TRANSFORMATION的方法生成XML例程
设计模式之禅:里氏替换原则
mike许微博,Mike Mann再出手:8万美元出售Business.co
最新标注
重庆中设
(1)
牧童骑黄牛
(1)
qq信任登录
(1)
ios播放器
(1)
亚马逊播放器下载
(1)
黄牛交易市场
(1)
亚马逊播放器
(1)
qq信任网站
(1)
亚马逊云播放器
(1)
手机qq不受信任
(1)
中国黄牛交易市场
(1)
愤怒的小鸟中国
(1)
暴雪商城
(1)
a股一季度净利润
(1)
第一季度净利润
(1)
大敌乐队
(1)
如什么大敌
(1)
如临大敌的意思
(1)
腾讯华谊兄弟
(1)
大敌当前
(1)
最新评论