2012-11-10 3 views
0

여러 트랜잭션에 대한 격리 수준을 설정할 때 트랜잭션을 중단하는 원인은 무엇입니까?SQL - 중단 된 동시 트랜잭션의 원인

격리 수준은 트랜잭션을 중단하지 않고 적절한 잠금에 의해 어떤 예외가 허용되는지/허용되지 않는지를 정의한다고 가정합니다. 올바른 가정입니까?

지금까지 내가 생각할 수있는 유일한 이유는 실행이 교착 상태에 빠졌고 트랜잭션 중 하나를 중단해야한다는 것입니다.

답변

1

하나의 트랜잭션 T1이 다른 트랜잭션 T2에 의해 잠긴 일부 리소스 R1을 요청하면 T1이 시간 초과되어 중단 될 수 있습니다.

이것은 아직 교착 상태가 아닙니다. 교착 상태는 T1과 T2가 모두 정지 된 경우이며, 각 교착 상태가 다른 리소스가 가지고있는 잠금을 해제 할 때까지 기다리는 것입니다.