- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第12章 SQL Server 2008的事务与
第12章 SQL Server 2008的事务与锁 事务与锁是用来保证多用户情况下数据一致性的机制。诸如SQL Server 2008这样的大型数据库在运行时,多个用户同时对同一数据进行操作时可能导致数据混乱。解决这个问题的最有效方法就是保证用户的操作在执行时没有其他干扰。本章将主要讲解事务与锁的原理和应用。 12.1 事务的概念 事务是一个工作单元。该单元内的所有操作是一个整体,要么全部执行成功,要么就全部失败。在SQL Server 2008中,通过事务可以保证数据库数据的完整性和有效性。 12.1.1 事务的属性 事务需要具备原子性、一致性、隔离性、持久性。 12.1.2 事务的类型 事务通常分为3种类型,即显式事务、隐式事务和自动提交事务。 显式事务:显式地定义其开始和结束的事务,又称为用户定义事务。当使用BEGIN TRAN(TRAN是事务TRANSACTION的缩写)和COMMIT TRAN语句时发生显式事务。 隐式事务:在当前事务提交或回滚后自动开始的事务,需要用COMMIT语句和ROLLBACK TRAN语句回滚或结束事务。所有CREATE开头的语句、所有DROP开头的语句、SELECT语句、DELETE语句、INSERT语句、UPDATE语句等都是隐式事务。 自动提交事务:能够自动执行并自动回滚的事务。即当一个语句成功执行后,事务被自动提交;当执行过程中产生错误时,将会执行事务回滚的操作。 12.1.3 事务的隔离级别 事务的隔离级别是SQL Server为每一个单独事务定义与其他事务的隔离程度。例如,有的老师正在将本课程的所有学生成绩进行调整,而另外有的老师正在计算学生的总成绩排名。这样如果没有通过隔离来保证数据的唯一性,可能会造成学生的总成绩排名出现严重错误。SQL Server共有4种隔离级别,分别如下。 未提交读 已提交读 可重复读 可序列化 12.2 使用事务 SQL Server中的事务是由一组语句来实现的。下面详细讲解这些语句,并通过简单示例说明事务的功能。 12.2.1 事务语句 事务语句由开始语句、提交语句和取消语句构成,这些语句需要组合使用才能完成一个事务的结构。 1.开始事务语句BEGIN TRAN 2.提交事务语句COMMIT TRAN 3.取消事务语句ROLLBACK TRAN 12.2.2 事务举例 假设要对学生信息表中的注册日期进行修改处理,但是如果这一天不是每周的正常工作日,则取消所有修改。这样的事务可以使用以下语句完成。 12.2.3 嵌套事务 嵌套事务主要是为了支持存储过程中的一些事务。这些事务可以从已执行的事务的进程中调用,也可以从没有活动事务的进程中调用。 12.2.4 事务保存点 如前所述,在使用事务时,当用户回滚事务时将取消所有操作。在一些大的事务中,有时并不需取消全部操作。通过在事务内部设置事务保存点,定义在取消某个事务时,该事务可以返回的一个保存点位置。如果将事务回滚到事务保存点,则该事务保存点之后的所有操作将被取消。 12.3 事务中禁用的Transact-SQL语句 有一些Transact SQL语句因为操作的对象比较特殊,所以在事务中是不能使用的。这些语句分别如下。 ALTER DATABASE:修改数据库。 DROP DATABASE:删除数据库。 ALTER FULLTEXT CATALOG:修改全文目录。 DROP FULLTEXT CATALOG:删除全文目录。 ALTER FULLTEXT INDEX:修改全文索引。 DROP FULLTEXT INDEX:删除全文索引。 BACKUP:备份操作。 RECONFIGURE:配置操作。 CREATE DATABASE:创建数据库。 RESTORE:恢复备份。 CREATE FULLTEXT CATALOG:创建全文目录。 UPDATE STATISTICS:更新统计。 CREATE FULLTEXT INDEX:创建全文索引。 12.4 锁 锁是SQL Server数据库引擎用来同步多个用户对同一个数据块访问的一种机制。通过锁可以阻止其他事务造成的负面影响,当事务不再依赖锁的资源时,可以将锁释放。 12.4.1 锁的概念 锁是多个用户能够同时操作同一个数据源而不会出现数据不一致现象的重要保障。它是防止其他事务访问指定的资源控制、实现并发控制的一种主要手段。如果一个数据源被添加了锁,则此数据源就有了一定的访问限制,也就是说对此数据源进行了锁定操作。 12.4.2 锁的模式 在SQL Server 2008的数据库引擎中使用了不同的锁模式锁定资源,这些锁模式确定了并发事务访问资源的方式。锁有多种模式,包括共享锁、独占锁、意向锁和键范围锁等。 12.4.3 锁的使用 在SQL
您可能关注的文档
最近下载
- 幼儿园接送免责协议书范本(2025版).docx VIP
- 2025年最新人教版八年级(初二)数学上册教学计划及进度表(新课标,新教材).docx
- 静脉输液护理创新案例演讲ppt.pptx
- 3.1水循环课件(共22张PPT).pptx VIP
- 国际学校中方教职员工薪酬设计方案.pdf
- 2025年闽教版(2024)小学英语四年级上册(全册)教学设计(附目录P123).docx
- 2025-2026学年岭美版(2024)小学美术二年级上册教学计划及进度表.docx
- 《放射性肠炎》课件:放射性治疗后的肠道并发症.ppt VIP
- 科力达kts-440系列全站仪说明书.pptx
- 昌平区流研所路百善六号路原规划一路百沙路工程环评报告.pdf VIP
文档评论(0)