2016-06-22 3 views
1

Entity Framework 6.1을 사용하여 한 가지 교착 상태 문제를 해결하고 READ SQL Server 데이터베이스에 대해 SNAPSOT IS ISOLATION을 실행합니다.동일한 테이블 키에 "X"자물쇠가 있지만 SQL Server 프로세스에 "RangeS-U"잠금이 필요한 이유는 무엇입니까?

아래 이미지는 SQL 프로파일 러 교착 상태 그래프입니다. 문제를 해결하는 데 필요한 다른 세부 정보를 제공해야하는지 알려주세요.

아래 이미지에서

...

CustomerOrder를 테이블 매핑 테이블 (CUSTOMERID, ORDERID)이고, 보유 고유 클러스터되지 않은 인덱스

enter image description here

+0

시각화는 오해의 소지가 있고 많은 정보를 남깁니다. 데드락 이벤트 (쿼리 포함)를 설명하는 실제 XML 데이터를 읽는 것에 익숙해지는 것이 좋습니다. –

답변

0
을 가진 복합 PK (CUSTOMERID, ORDERID)

X가 범위 모드가 아닙니다. 범위가 아닌 하나의 키만 커버합니다. 따라서 쿼리를 실행하는 데는 충분하지 않습니다.

스냅 샷 격리를 사용하고 있으므로 일부 DML 문이 충돌한다고 가정합니다. 범위 잠금은 FK 확인에 일반적입니다. 희망이 당신을 도와줍니다.

충돌하는 진술 및 기타 유용한 정보를 게시하는 것이 좋습니다.