数据库保护及SQLServer的数据库保护技术.pptVIP

数据库保护及SQLServer的数据库保护技术.ppt

  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文档。上传文档
查看更多

2)拒绝修改。如果参照关系中,有外码值与被参照关系中要修改的主码值相同的元组,则拒绝修改。市场开发部03销售部02工程部01部门名称部门号财务部04外码:部门号(参照关系)主码:部门号(被参照关系)职工号姓名部门号1001王红011002李清021003张东名011004何建东0409二级封锁协议不能防止不一致性分析据T1T2S锁在库数量(成功)?读在库数量=60??释放S锁在库数量X锁在库数量(成功)?读在库数量=60在库数量=在库数量+400写在库数量=460COMMIT释放X锁在库数量S锁在库数量(成功)读在库数量=460释放S锁在库数量读在库数量=460一级封锁协议不能防止读未提交数据T1T2X锁在库数量(成功)?读在库数量=60??在库数量=在库数量+400?写在库数量=460ROLLBACKCOMMIT释放X锁在库数量8.3.3封锁出现的问题及解决方法活锁和死锁活锁在多个事务请求对同一数据封锁时,总是使某一用户等待的情况称为活锁。(总是有机会获得锁的事务却永远没得到锁)解决活锁的方法是采用先来先服务的方法,即对要求封锁数据的事务排队,使前面的事务先获得数据的封锁权。(2)死锁多事务相互等待对方释放封锁,形成交错等待的僵持局面称为死锁。T1T2X锁数据A(成功)??X锁数据B(成功)X锁数据B(失败)??X锁数据A(失败)等待等待等待等待等待等待……….预防死锁通常有两种方法:一次封锁法:要求每个事务必须一次将所有要使用的数据全部加锁,否则该事务不能继续执行。2)顺序封锁法:预先对数据对象规定一个封锁顺序,所有事务都按这个顺序实行封锁。死锁的恢复:当死锁出现时,一定要解除它。DBMS周期地测试数据库是否处于死锁状态将其中一个处理代价小的事务撤消,ROLLBACK这个事务,释放这个事务进行的封锁,使其它事务可能进行下去。(诊断与解除)并发调度的可串行性多个事务并发执行的结果与按串行执行的结果相同,这种调度策略称为可串行化的调度,反之称为不可串行化调度。T1T2S锁B?Y=B=2?锁释放B?X锁A?A=Y+1?写A=3?锁释放A??S锁A?X=A=3?锁释放A?X锁B?B=X+1?写B=4?锁释放B串行调度T1?T2T1T2?S锁A?X=A=2?锁释放A?X锁B?B=X+1?写B=3?锁释放BS锁B?Y=B=3?锁释放B?X锁A?A=Y+1?写A=4?锁释放A?串行调度T2?T1T1T2S锁B?Y=B=2??S锁A?X=A=2锁释放B??锁释放AX锁A?A=Y+1?写A=3??X锁B?B=X+1?写B=3锁释放A??锁释放B不可串行化的调度T1T2S锁B?Y=B=2?锁释放B?X锁A??S锁AA=Y+1wait写A=3wait锁释放Await?S锁A?X=A=3?锁释放A?X锁B?B=X+1?写B=4可串行化的调度T1读B,A=B+1回写A,T2读AB=A+1回写B,设初始值:A=B=2事务分为两个阶段:3.两段锁协议1)在对任何数据进行读、写操作之前,首先要申请并获得对该数据的封锁。2)在释放一个封锁之后,事务不再申请并获得任何其他封锁事务分为两个阶段:获得封锁(扩展阶段),申请获得锁,不释放锁。释放封锁(收缩阶段),释放封锁,不再申请任何封锁。SlockAXlockBUnlockAUnlockB扩展阶段收缩阶段并发执行的所有事务均遵守两段封锁协议,则对这些事务的任何并发调度策略是可串行化的4.封锁的粒度封锁粒度(Granularity)是指封锁对象的大小。逻辑单元:属性值、属性值的集合、元组、关系、数据库物理单元:页,块封锁粒度与系统的并发度和并发

文档评论(0)

yingyaojun1975 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档