Service Broker 按照帮助一步一步来居然也不成功,求指导
Service Broker
一直想试一下,结果还不大好弄。
看了一下自带的帮助,很详细。
有3种,
1、单个数据库中的会话.
2、完成数据库之间的会话
3、实例之间的会话
前两种由于不涉及到网络传输都很简单,照着做就OK了,不照着做自己搞也没什么问题。
但最后一种,就是在不同的SQL服务器
之间进行Service Broker 消息传递就很复杂了,涉及路由等的配置
自己没搞出来,一步一步按帮助也没搞清楚,每一步都做了,就是收不到消息
也没什么错误提示,
也不知道在哪儿查原因。
有人试过吗?有什么注意事项。
ms-help://MS.SQLCC.v9/MS.SQLSVR.v9.zh-CHS/sqltut9/html/137d8f44-62e2-4a77-84c8-966054ad3531.htm
本教程适用于熟悉数据库概念和 Transact-SQL 语句但刚开始使用 Service Broker 的用户。 教程通过演示如何在位于不同数据库引擎实例中的两个数据库之间生成和运行简单的会话,帮助新用户入门。
学习内容
本教程建立在您在完成数据库之间的会话中所学任务的基础上。 在本教程中,您将学习如何配置会话以使其在数据库引擎的两个实例之间运行。
在本教程中执行的步骤与您在“完成数据库之间的会话”教程中执行的步骤相同,但存在以下不同:
两个数据库将位于数据库引擎的不同实例中。
您将学习如何创建 Service Broker 端点和路由以在两个实例之间建立网络连接。
先前的教程不在网络上传输消息。 因此,它们使用数据库引擎权限来帮助防止人们在未经授权的情况下擅自访问消息。 在第 3 课中,您将学习如何创建证书和远程服务绑定以加密网络上的消息。
在本教程中,包含发起方数据库的数据库引擎的实例称为发起方实例。 包含目标数据库的实例称为目标实例。
本教程共分为六节课:
第 1 课:创建目标数据库
在本课中,您将创建目标数据库和所有与发起方数据库没有依赖关系的对象。 这包括端点、主密钥、证书、用户、消息类型、约定、服务和队列。
第 2 课:创建发起方数据库
在本课中,您将创建发起方数据库及其端点、主密钥、证书、用户、路由、远程服务绑定、消息类型、约定、服务和队列。
第 3 课:完成目标会话对象
在本课中,您将创建与发起方数据库有依赖关系的目标对象。 这包括证书、用户、路由和远程服务绑定。
第 4 课:开始会话
在本课中,您将启动会话并从发起方向目标发送一条请求消息。
第 5 课:接收请求和发送答复
在本课中,您将在目标服务处收到请求消息并向发起方发回一条答复消息。
第 6 课:接收答复和结束会话
在本课中,您将在发起方服务处收到答复消息并结束本次会话。
要求
若要完成本教程,您应熟悉 Transact-SQL 语言以及如何使用 SQL Server Management Studio 中的 Transact-SQL 查询编辑器。
必须安装数据库引擎的两个实例。 如果这两个实例安装在不同的计算机中,请始终从同一台计算机中 Management Studio 的副本连接到每个实例。 例如,不要从目标计算机中的 Management Studio 副本连接到发起方实例。
您必须在这两个实例中都授权同一个登录名。 在这两个实例中,该登录名必须为 sysadmin 固定服务器角色的成员,或具有运行此教程所需的下列权限:
ALTER ANY LINKED SERVER。
CREATE ENDPOINT。
CREATE DATABASE、CREATE ANY DATABASE 或 ALTER ANY DATABASE 中的至少一个权限。
用于运行两个数据库引擎实例的 Windows 帐户在另一个实例中也必须是有效的登录名。
这两个系统必须安装了以下程序:
任意版本的 SQL Server 2005,但只有一个实例可以为 SQL Server Express Edition。
SQL Server Management Studio 或 Management Studio Express。
Internet Explorer 6 或更高版本。
这两个系统的防火墙必须配置为启用与 UDP 端口 1434 和 TCP 端口 1433 和 4022 的连接。 使用外围应用配置器工具来确保这两个实例都允许远程连接。 使用 SQL Server 配置管理器确保在两台计算机中都运行了 SQL Server Browser 服务。