死锁Deadlocking 是在多用户或多进程状况下为使用同一资源而产生的无法解
决的争用状态通俗地讲就是两个用户各占用一个资源两人都想使用对方的资源但
同时又不愿放弃自己的资源就一直等待对方放弃资源如果不进行外部干涉就将一直
耗下去
死锁会造成资源的大量浪费甚至会使系统崩溃在SQL Server 中解决死锁的原则
是牺牲一个比两个都死强即挑出一个进程作为牺牲者将其事务回滚并向执行此
进程的程序发送编号为1205 的错误信息而防止死锁的途径就是不能让满足死锁条件的
情况发生为此用户需要遵循以下原则
尽量避免并发地执行涉及到修改数据的语句
要求每个事务一次就将所有要使用的数据全部加锁否则就不予执行
预先规定一个封锁顺序所有的事务都必须按这个顺序对数据执行封锁例如
不同的过程在事务内部对对象的更新执行顺序应尽量保持一致
每个事务的执行时间不可太长对程序段长的事务可考虑将其分割为几个事务
决的争用状态通俗地讲就是两个用户各占用一个资源两人都想使用对方的资源但
同时又不愿放弃自己的资源就一直等待对方放弃资源如果不进行外部干涉就将一直
耗下去
死锁会造成资源的大量浪费甚至会使系统崩溃在SQL Server 中解决死锁的原则
是牺牲一个比两个都死强即挑出一个进程作为牺牲者将其事务回滚并向执行此
进程的程序发送编号为1205 的错误信息而防止死锁的途径就是不能让满足死锁条件的
情况发生为此用户需要遵循以下原则
尽量避免并发地执行涉及到修改数据的语句
要求每个事务一次就将所有要使用的数据全部加锁否则就不予执行
预先规定一个封锁顺序所有的事务都必须按这个顺序对数据执行封锁例如
不同的过程在事务内部对对象的更新执行顺序应尽量保持一致
每个事务的执行时间不可太长对程序段长的事务可考虑将其分割为几个事务
我也有些不明白,如何在事物处理中运用啊?