数据库事务管理教学课程.pptVIP

  • 2
  • 0
  • 约5.79千字
  • 约 53页
  • 2022-08-30 发布于重庆
  • 举报
(2)修改锁 修改锁在修改操作的初始化阶段用来锁定可能要被修改的资源,这样可以避免使用共享锁造成的死锁现象。因为使用共享锁时,修改数据的操作分为两步,首先获得一个共享锁读取数据,然后将共享锁升级为独占锁再执行修改操作。这样如果同时有两个或多个事务对一个事务申请了共享锁,在修改数据的时候,这些事务都要将共享锁升级为独占锁。这时 ,这些事务都不会释放共享锁而是一直等待对方释放,这样就造成了死锁。如果一个数据在修改前直接申请修改锁 ,在数据修改的时候再升级为独占锁 ,就可以避免死锁。修改锁与共享锁是兼容的 ,也就是说一个资源用共享锁锁定后,允许再用修改锁定。 第三十一页,共五十三页。 (3) 独占锁 独占锁是为修改数据而保留的。它所锁定的资源,其他事务不能读取也不能修改。 (4) 意向锁 意向锁说明SQL Server有在资源的低层获得共享锁或独占锁的意向。 第三十二页,共五十三页。 ② 锁冲突及其防止办法 在SQL Server中 ,系统能够自动定期搜索和处理死锁问题。系统在每次搜索中标识所有等待锁定请求的进程会话,如果在下一次搜索中该被标识的进程仍处于等待状态 ,SQL Server 就开始递归死锁搜索。当搜索检测到锁定请求环时,系统将根据各进程会话的死锁优先级别来结束一个优先级最低的事务,此后,系统“回滚”该事务,这样,其他事务就有可能继续运行了。 第三十三页,共五十三页。 ③ 手

文档评论(0)

1亿VIP精品文档

相关文档