SQL SERVER中事务隔离级别实例分析.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SQL SERVER中事务隔离级别实例分析

SQL SERVER中事务隔离级别实例分析   摘 要: 通过具体实例分析了SQLSERVER 2000在不同的事务隔离级别中,事务并发操作带来的数据读取的不一致性,从而为具体应用程序既要保证数据完整、一致性又要提高事务并发控制策略中事务的并发程度提供了一种依据和参考。      关键词:事务;隔离级别;并发   中图分类号:TP311 文献标识码:A      Example analyzing of transaction isolation level in SQL SERVER   ZHANG Zhan-jie1WANG Hong-fei2   1 (The Computer Engineering Department of Luohe Vocatinal Technical College,Luohe,462002,China)   2 (The Computer Engineering Department of Luohe Vocatinal Technical College,Luohe,462002,China)   ABSTRACT: through concrete examples, this article analyzes the data acess’s inconsistency that is brought by the concurrent operation of transaction in the sql server 2000’s different transaction isolation levels, so as to provide the application a basis and reference that may ensure data integrity and consistency and raise the transaction’s concurrency degree in the transacton concurrency control strategy.   KEYWORDS: transaction; isolation-level;concurrency      0 引 言   在多用户系统中,允许多个用户和事务同时访问同一个数据库中的数据,这就势必影响数据读取的一致性和完整性。为了避免同时发生的事务彼此间的相互干涉,需要进行并发处理控制。在MICROSOFT SQL SERVER 2000中,事务之间受干扰的程度和事务的隔离级别有一定关系。事务隔离属性是事务必须保证的ACID四个属性之一,该属性能够使事务免受其它并发执行的事务对数据进行的更新的影响。本文从几个实例出发分析了SQL SERVER 2000中不同的事务隔离级别在数据完整性、一致性和事务并发程度间的关系及影响,并给出了切实可行的事务隔离策略。   1并发操作数据的不一致性   多个事务并发执行将会造成某一个事务在极短的时间间隔内对同一批数据读取的不一致性,这种不一致性包括3类:脏读取、不可重复读取和丢失修改。   (1)脏读取(DIRTY READ)   一个事务读取到了另一个并行事务的未提交的数据。例如:B事务读读取了A事务修改但尚未提交的数据,但后来A事务又撤消了。   (2)不可重复读取(NONREPEATABLE READ)   一个事务多次读取某一行,但是这一行在多次读取中的值不一致。例如:A事务多次读取某一行,在它多次读取操作之间,B事务修改了这一行,A事务读取该行的数据就不一样了。   (3)幻读(PHANTOM READ)   一个事务重新执行一个查询,返回的记录中包含了因为其他最近提交的事务而产生的记录。例如,B事务对A事务读取的行范围内插入了新行或删除了行,而A事务之后还会访问这些行,这样A事务前后访问的范围内数据行就不一样,从而发生了“幻像读”。   产生上面3种类型不一致性的主要原因是事务的并发操作,因此应当有效地对事务的并发执行进行控制和调度,这样才能够尽可能地减少并发事务之间的相互影响,保证数据的一致性,提高事务并发程度,其中设置事务的隔离级别是一种行之有效的并发控制手段。   2 SQL SERVER 2000支持的事务隔离级别   事务准备接受不一致数据的级别称为隔离级别。隔离级别是一个事务必须与其它事务进行隔离的程度。较低的隔离级别可以增加并发,但代价是降低数据的正确性。相反,较高的隔离级别可以确保数据的正确性,但可能对并发应用程序产生负面影响,如降低运行速度等。应用程序要求的隔离级别确定了SQL SERVER使用的锁定行为。   SQL SERVER 2000支持以下四种事务隔

文档评论(0)

130****9768 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档