sql server 服务器之间传递消息,SQL Server 2008 Service Broker教程 - 无法接收消息(transmission_status中的异常)...
我正在学习如何使用SQL Server 2008 R2的Service Broker.在完成单个数据库中的完成对话教程时.在第1课之后,我成功创建了消息类型,合同,队列和服务.在第2课之后,我可能已经发送了这条消息.但是,在尝试接收消息时,我获取的是NULL ReceivedRequestMsg而不是发送的内容.
在查看时sys.transmission_queue,transmission_status消息说:
在目标队列中排队消息时发生异常.错误:15517,状态:1.无法作为数据库主体执行,因为主体"dbo"不存在,此类主体不能被模拟,或者您没有权限.
我已经使用Windows登录安装了SQL Server Mycomp\Petr.我也在使用该登录课程.
你能猜出是什么问题吗?我应该检查和设置什么才能使其正常工作?
编辑2012/07/16:为了帮助重现问题,这就是我所做的.如果您按照下一步操作,是否可以重现错误?
首先,我使用的是Windows 7 Enterprise SP1和Microsoft SQL Server 2008 R2,开发人员版,64位(版本10.50.2500.0,根目录位于C:\ Program Files\Microsoft SQL Server\MSSQL10_50.SQL_PRIKRYL05\MSSQL) .
按照教程建议,我下载了AdventureWorks2008R2_Data.mdf示例数据库,并将其复制到C:\ Program Files\Microsoft SQL Server\MSSQL10_50.SQL_PRIKRYL05\MSSQL\DATA\AdventureWorks2008R2_Data.mdf
必须以"管理员"身份启动SQL Server Management Studio才能以后附加数据.然后我连接了SQL Server.
右键单击Databases,上下文菜单Attach ...,按钮Add ...,指向AdventureWorks2008R2_Data.mdf + OK.然后从下面的网格中选择AdventureWorks2008R2_Log.ldf(报告为未找到)并按下删除...按钮.按OK后,附加了数据库并自动创建了AdventureWorks2008R2_log.LDF.
以下查询用于查看"Service Broker enabled/disabled",以及启用(Service Broker已成功启用数据库):
USE master;
GO
SELECT name, is_broker_enabled FROM sys.databases;
GO
ALTER DATABASE AdventureWorks2008R2
SET ENABLE_BROKER
WITH ROLLBACK IMMEDIATE;
GO
SELECT name, is_broker_enabled FROM sys.databases;
GO
然后,按照本教程,执行以下查询以创建消息类型,合同,队列和服务:
USE AdventureWorks2008R2;
GO
CREATE MESSAGE TYPE
[//AWDB/1DBSample/RequestMessage]
VALIDATION = WELL_FORMED_XML;
CREATE MESSAGE TYPE
[//AWDB/1DBSample/ReplyMessage]
VALIDATION = WELL_FORMED_XML;
GO
CREATE CONTRACT [//AWDB/1DBSample/SampleContract]
([//AWDB/1DBSample/RequestMessage]
SENT BY INITIATOR,
[//AWDB/1DBSample/ReplyMessage]
SENT BY TARGET
);
GO
CREATE QUEUE TargetQueue1DB;
CREATE SERVICE
[//AWDB/1DBSample/TargetService]
ON QUEUE TargetQueue1DB
([//AWDB/1DBSample/SampleContract]);
GO
CREATE QUEUE InitiatorQueue1DB;
CREATE SERVICE
[//AWDB/1DBSample/InitiatorService]
ON QUEUE InitiatorQueue1DB;
GO
到现在为止还挺好.
然后使用以下查询来查看队列(使用时现在为空):
USE AdventureWorks2008R2;
GO
SELECT * FROM InitiatorQueue1DB WITH (NOLOCK);
SELECT * FROM TargetQueue1DB WITH (NOLOCK);
SELECT * FROM sys.transmission_queue;
GO
发送消息时会出现问题:
BEGIN TRANSACTION;
BEGIN DIALOG @InitDlgHandle
FROM SERVICE
[//AWDB/1DBSample/InitiatorService]
TO SERVICE
N'//AWDB/1DBSample/TargetService'
ON CONTRACT
[//AWDB/1DBSample/SampleContract]
WITH
ENCRYPTION = OFF;
SELECT @RequestMsg =
N'Message for Target service.';
SEND ON CONVERSATION @InitDlgHandle
MESSAGE TYPE
[//AWDB/1DBSample/RequestMessage]
(@RequestMsg);
SELECT @RequestMsg AS SentRequestMsg;
COMMIT TRANSACTION;
GO
当在队列看时,Initiator...与Target...队列是空的,并且可见于所发送的消息sys.transmission_queue经由报告上述的错误transmission_status.
sql server 服务器之间传递消息,SQL Server 2008 Service Broker教程 - 无法接收消息(transmission_status中的异常)...相关推荐
- [转]基于SQL Server 2008 Service Broker构建企业级消息系统
http://www.infoq.com/cn/articles/enterprisemessage-sqlserver-servicebroker 1.引言 Microsoft 在SQL Serve ...
- ftp和服务器之间传递ftp文件时,使用的连接时,ftp服务器之间传递文件
ftp服务器之间传递文件 内容精选 换一换 打开FTP服务器上的文件夹时发生错误,请检查是否有权限访问该文件夹.浏览器设置了FTP防火墙.以设置IE浏览器为例.打开IE浏览器菜单"工具 &g ...
- windows多个服务器之间共享文件夹,windows server 2008 R2 部署NFS,实现多台服务器间、客户端间的共享目录。...
如何通过Windows Server 2008 R2建立NFS存储服务? 通过Windows Server 2008 R2,我们可以很容易地将其作为一台NFS存储服务器,得到一个NFS软存储,轻松解决 ...
- RDS SQL Server死锁(Deadlock)系列之四利用Service Broker事件通知捕获死锁
问题引入 在前面三篇文章,我们分别谈到了使用DBCC命令捕获死锁:使用Profiler界面跟踪Deadlock Graph事件捕获死锁和使用脚本自动部署Profiler Trace捕获死锁.这篇文章介 ...
- 【SQL】服务器环境下的SQL
一.大型数据库的三层体系结构 web服务器:比如在淘宝页面上,输入"牛肉干",就是web服务器来处理,提交给应用服务器. 应用服务器:在获取到"牛肉干"这个请求 ...
- Android客户端与服务器之间传递json数据
在服务器与客户端之间通信,json数据是一种常用格式,本文主要在服务器端构建数据,在客户端接收显示,并且在listview上显示出来 服务器端的构建 简单的javabean与返回结果函数与插入函数略过 ...
- sql显示服务器连接不上,sql服务器连接不上
sql服务器连接不上 内容精选 换一换 本章节适用于MRS 3.x之前版本.Loader支持以下多种连接,每种连接的配置介绍可根据本章节内容了解.obs-connectorgeneric-jdbc-c ...
- SQL Server服务器名称与默认实例名不一致的修复方法
SQL Server服务器名称与默认实例名不一致的修复方法 分类: 个人累积 SQl SERVER 数据库复制2011-08-10 09:49 10157人阅读 评论(0) 收藏 举报 sql ser ...
- SQL Server 2005 Service Broker 初探
发布日期 : 11/4/2004| 更新日期 : 11/4/2004 Roger Wolter 适用于: Microsoft SQL Server 2005 Transact SQL (T-SQL) ...
最新文章
- Bengio实验室推出开源AI药物研发平台,唐建领队、清北上交学生参与开发
- Servlet 生命周期介绍
- html静态页面到jsp文件css错误
- 【OpenGL】游戏编程常用TGA图像格式详解以及加载纹理编程实现
- 一步步实现SDDC-逻辑交换与逻辑路由
- 【虚拟机ubuntu设置ssh】ssh连不上问题解决方法
- javascript详解函数原型对象prototype与constructor
- Java-马士兵设计模式学习笔记-策略模式-模拟Comparable接口
- 浏览器 刷新页面后回到顶部_当你在浏览器中,忘记了曾经的登录密码怎么办......
- 使用python实现日志功能
- python 保存图片_python 输出文档到world
- 如何写网站建设策划书
- 网站被ddos攻击了怎么办?网站正在被ddos攻击怎么解决
- ecshop手机支付宝支付篡改金额BUG
- 单机游戏数据库探讨(MySQL嵌入式服务器的使用)(未完)
- 解析区块链游戏与GameFi的发展历程
- pandas 生成笛卡尔集
- 中学学籍管理系统数据库课程设计,限于篇幅只能采取截图方式上传,原文件在我资源中有所展示。
- 硬件描述语言VHDL
- CSS中的标准盒子模型和怪异盒子模型
热门文章
- webpack 配置
- 自己定义九宫格手势解锁
- Solidworks如何绘制装饰螺纹线
- jetty for linux 启用日志
- 深度模拟java动态代理实现机制系类之三
- 一个可行的绑定下拉列表的方法(bind dropdownlist)
- solaris 中挂载usb移动硬盘
- 我的QT4.5编译流水帐(转帖)
- Quartz.net通过配置文件来完成作业调度
- 【转】【centos】启动网卡报错(Failed to start LSB: Bring up/down networking )解决办法总结...