008-实验八事务与锁(实验报告内容).doc

008-实验八事务与锁(实验报告内容).doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验八 事务与锁 (实验报告) 目的 掌握事务和锁的基本概念。 掌握事务的定义、管理及利用事务进行数据处理的方法。 了解SQL Server 2005的并发控制及锁的管理等相关技术。 实验内容 (1)完成下列操作 定义一个事务,在teaching数据库的student表和score表中新增一名学生的基本信息记录和选课记录,并提交该事务。 定义一个事务,在teaching数据库中,向score表中增加学号为‘0922221326’的学生的选课记录,并回滚该事务。 定义一个事务,将student表中学号为‘0922221326’的学生的性别修改为‘女’,并设置一个保存点,然后将score表中学号为‘0922221326’的学生的期末成绩修改为88,最后回滚到事务的保存点,提交事务。 使用隐式事务完成对score表的操作。在查询编辑器中输入如下程序并执行。 Use teaching Go Set implicit_transactions on Select * from score where studentno=‘0922221326’ --第一个隐式事务开始 Update score Set final=88 Where studentno=‘0922221326’ Select * from score where studentno=‘0922221326’ Commit tran --提交第一个隐式事务 --第二个隐式事务开始 Update score Set usually=90 Where studentno=‘0922221326’ Select * from score where studentno=‘0922221326’ Rollback tran –回滚第二个隐式事务 Select * from score where studentno=‘0922221326’ Set implicit_transactions 使用嵌套事务完成对表score表的操作。 在查询编辑器中输入如下程序并执行: Use teaching Go Begin tran outer_trans Begin tran inner_trans Select * from score where studentno=‘0922221326’ Update score Set final = 95 Where studentno=‘0922221326’ Select * from score where studentno=‘0922221326’ Commit tran inner_trans; --提交嵌套事务内层 Update score Set final = 90 Where studentno=‘0922221326’ Select * from score where studentno=‘0922221326’ Rollback tran outer_trans --回滚事务外层 Select * from score where studentno=‘0922221326’; SQL Server检测和处理死锁 ①打开一个查询编辑器,输入如下程序并执行: Use teaching Go Begin tran trans1 Update score Set usually=90 Where studentno=‘0922221326’; 注意不要提交事务trans1。 ②打开第二个查询编辑器,输入以下程序并执行: Use teaching Go Begin tran trans2 Delete from student Where studentno=‘0922221326’ Delete from score Where studentno=‘0922221326’; 由于在查询1中的事务没有提交,因此事务trans2将被阻塞。 ③重新打开一个查询编辑器,输入如下程序并执行: Update student Set sex=‘男’ Where studentno=‘0922221326’; 其中一个事务被取消,并且显示如下错误提示信息: 消息1205,级别13,状态51,第2行 事务(进程ID54)与另一个进程被死锁在锁资源上,并且已被选作死锁牺牲品。请重新运行该事务。 在此过程中,每一步运行结束,均可通过系统视图 sys.dm_tran_locks查看锁定资源的相关信息。 (2)完成实验报告 实验环境 SQL2005。 实验原理 理解事务与锁。 掌握事务与锁的使用。 实验报告 将实验内容作为实验报告完成。 实验小结

文档评论(0)

136****0662 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档