第12章事务锁和作业(免费阅读).pptVIP

  • 3
  • 0
  • 约9.25千字
  • 约 40页
  • 2016-12-23 发布于重庆
  • 举报
* 第*页 12.2.5 死锁及其防止 死锁的第二种情况是,在一个数据库中有若干个长时间运行的事务执行并发的操作,当查询分析器处理一种非常复杂的查询(例如连接查询)时,由于不能合理控制处理的顺序,有可能发生死锁。 2.死锁的预防 不可能完全避免死锁,却可以使死锁的数量减少到最低。 (1)按同一顺序访问 (2)减少在事务中与用户的交互 (3)如何避免长事务 (4)使用低级别的隔离 除此之外,用户还需要遵循以下原则: (1)尽量避免并发地执行涉及到修改数据的语句。 (2)要求每个事务一次性将所有要使用的数据全部加锁,否则就不予执行。 * 第*页 12.2.5 死锁及其防止 3.死锁的解除 死锁会造成资源的大量浪费,甚至会使系统崩溃,当发生死锁现象时,系统可以自习检测到,然后通过自动取消其中一个事务来结束死锁。在SQL Server中解决死锁的原则是“牺牲一个比两个都死强”,即挑出一个进程作为牺牲者,将其事务回滚,并向执行此刻程的程序发送编号为1205的错误信息。 在发生死锁的两个事务中,根据事务处理时间的长短作为规则来确定其优先级。处理时间长的事务具有较高的优先级,处理时间较短的事务具有较低的优先级。当发生冲突时,保留优先级高的事务,取消优先级低的事务。 * 第*页 12.2.6 使用SQL Server Profiler确定死锁的原因 用户可以使用S

文档评论(0)

1亿VIP精品文档

相关文档