论坛登陆 注册 教程 笑话 影视 投稿
首页 | 页界资讯 | 网络应用 | 软件应用 | 组网技术 | 网络原理 | 聊天通讯 | 网管知识 | 帮助
笑话 | 操作系统 | 注 册 表 | 编程开发 | 数 据 库 | 媒体动画 | 网页设计 | 图形图象 | 地图
论坛 | 网络安全 | 安全防范 | 服 务 器 | 硬件学堂 | 路由技术 | 搜索研究 | 站长经验 | 投稿
影院 | 教育频道 | 特色专题 | 精文荟萃 | 注 册 码 | 论坛社区 | 网站地图 | 广告服务 | 旧版
设为首页 加入收藏
当前位置:首页>>文章>>数据库>>Mssql>>正文

SQL Server 2005 中的Multiple Active Result Set (MARS)

www.xker.com 作者: 来源:microsoft 加入日期:2006-3-7 9:15:37

【问题提问、论坛交流】 

简介

所有 SQL Server 数据访问应用程序编程接口 (API) 都提供了一个抽象来表示会话和会话中的请求SQL Server 2000 以及更早的版本限制编程模型,它要求任何时候一个给定的会话中最多只能有一个待定的请求有几个替代办法被用来解决这种限制,在这些替代办法中,最常见的可能就是服务器端光标SQL Server 2005 实现了 Multiple Active Result Set (MARS),它解除了这个约束本文介绍了 MARS 的设计、结构和语义变更,以及为了从这些改进中得到最大收益,应用程序应当注意什么

SQL Server 2000 Data Access Recap

目前支持用于构建 SQL Server 应用程序的主要数据访问 API 是 ODBC、OLE-DB、ADO 和 SqlClient .Net Provider1它们全部都提供一个抽象来表示一个指向服务器的已建立连接,同时提供另外一个抽象来表示在这个连接之下执行的请求例如,SqlClient 使用 SqlConnection 和 SqlCommand 对象,而 ODBC 则使用 SQL_HANDLE_DBC 类型和 SQL_HANDLE_STMT 类型的句柄

所有发送给 SQL Server 的执行请求都是几乎以下两种形式之一:1) 一组 T-SQL 语句,通常也称为批处理,或者 2) 存储过程或函数的名称,加上参数值(如果合适)请注意,提交一个 SELECT 或 DML 语句给服务器是一个单语句批处理,这是第一类请求的特例

在任何一种情况下,SQL Server 都会重申批处理或存储过程中包含的语句,然后执行这些语句语句可能会生成结果,也可能不生成结果,并且语句可能会向调用者返回附加信息,也可能不返回

结果主要是由 SELECT 和 FETCH 生成的SQL Server 通过将结果返回给调用者来执行 SELECT 语句这意味着,在查询执行引擎产生行的同时,这些行会被写入网络更确切地说,所产生的这些行会被复制到预先保留的网络缓冲区中,然后缓冲区会被返回给调用者网络写入操作会成功,并在客户端驱动程序从网络中读取时释放已用过的缓冲区如果客户端没有消耗结果,在相同点上的网络写入操作将会被阻止,服务器中的网络缓冲区将会被填满,执行就会被挂起,等待状态和执行线程,直到客户端驱动程序捕获读取这种产生结果和检索结果的模式通常被称为“默认结果集”,更正式的名称则是“流水游标”

附加信息也可能以其他方式(可能没有结果返回方式那么明显)被返回给调用者这种情况包括错误、警告和信息性消息它们或者通过 PRINT 和 RAISERROR 语句显式返回,或者通过语句执行期间产生的警告和错误隐式返回同样地,当 NOCOUNT 设置选项被设置为 OFF 时,SQL Server 会对每个已执行的语句发送一个“done row count”标记这种附加信息也可能导致网络写入缓冲区被填满和执行被挂起

这种背景使我们可以理解 SQL Server 2000 以及更早版本在支持每连接多个待定请求时的一些编程模型限制

“连接繁忙”

对于本文中的示例,我们将假定以下这样一个简单的情境:一个松散连接的清单处理系统使用“Operations”表作为队列来接收来自其他组件的请求:

OPERATIONS

已处理

 

operation_id

int

主键

operation_code

char(1)

'D' – decrease inventory

'I' – increase inventory

'R' – reserve inventory

product_id

uniqueidentifier

 

数量

bigint

 

本新闻共10页,当前在第01页  01  02  03  04  05  06  07  08  09  10  

编辑:xker.com

上一篇:使用SQL Server 2005中的CLR 集成(2)
下一篇:没有了
关闭窗口】【技术交流】【收藏此页
相关文章
·使用SQL Server 2005中的CLR 集成(2)·使用SQL Server 2005中的CLR 集成(1)·保护SQL Server 2005 Express Editio
·在 SQL Server 2005 中查询表结构及索·在SQLSERVER2005中实现素数计算·SQL Server 2005中的SQLCMD工具使用
·SQL Server 2005生成直方图简介·SQL Server 2005数据转换服务中的模糊·SQL Server2005:构造最简单的模糊查找
·SQL Server2005 Analysis服务实践之起·SQL Server 2005关于数据类型最大值·从SQL Server 2005中处理 XML
·SQL Server 2005 数据转换服务的常见·通过SQL Server 2005索引视图提高性能·安装SQL Server 2005中的AdventureWo
推荐文章 最新文章 热门文章
·拒绝提示窗口 让操作自动赶走网络烦恼
·视频格式转换工具使用集锦
·通过SQL Server 2005索引视图提高性能
·SQL Server 2005新特性
·SOHO族安全建议-保证上传服务器安全
·服务器安全配置精华技巧
·缔造神话 十大怪招助你200%提升迅雷速
·有备无患 WinXP下软件数据大迁移
·流量牵引技术在防DOS攻击中的应用
·解决w3wp.exe内存占用问题
·IIS网站防盗链下载的解决方案
·怎样处理Java最终化的内存保留问题
·轮番上阵:Linux下查找漏洞的N种兵器
·毕业论文范文
·毕业论文格式
·SQL Server 2005 中的Multiple Activ
·使用SQL Server 2005中的CLR 集成(2)
·使用SQL Server 2005中的CLR 集成(1)
·保护SQL Server 2005 Express Editio
·在 SQL Server 2005 中查询表结构及索
·拒绝提示窗口 让操作自动赶走网络烦恼
·QQ表情终级大法让你比别人更炫
·新东方系列序列号(大全)
·豪杰超级解霸V9.2正版注册码
·QuickTime v7.0.4简体中文版注册码
·Protel 2006 简体中文版6.0安装序列号
·Visual Studio 2005安装序列号
·附加码在网络安全中的作用
·原来文件的时间属性也能修改
·VC和Delphi程序只运行一个实例的方法
·个人简历表格
·免费代理IP(每日更新)
·QQ密码丢失后能做的事情:快速找回密码
·Norton AntiVirus 2006 注册码(激活
·豪杰超级解霸V9.1正版注册码
·WinRAR 3.51 注册码
·系统优化 专题
·找回QQ密码的注意事项 
·史上最强QQ个人档案资料欣赏
·Ajax技术开发指南
·求职简历封皮
·最经典的黑客入门教材
·ACDSee v8.0注册码
·应届毕业生求职信
·怎样查找对方的IP地址
评论

设为首页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
Copyright © 2003-2006 xker.com All rights reserved.小新技术网 合作广告QQ:12231446
本页浏览次数: