KB983516-FIX: 두 트랜잭션이 TABLOCK 잠금 힌트 또는 XLOCK 잠금 힌트를 포함 하는 테이블에 대해 DML 작업을 수행 하려고 하면 교착 상태가 발생 합니다.

증상

Microsoft SQL Server Compact 3.5에서 다음과 같은 시나리오를 고려 하세요.

  • 2 개의 serializable 격리 트랜잭션을 사용할 수 있습니다.

  • 두 트랜잭션 모두 TABLOCK 잠금 힌트 또는 XLOCK 잠금 힌트가 포함 된 테이블에서 DML 작업 (쿼리/DML)을 수행 하려고 합니다.

이 시나리오에서는 교착 상태가 발생할 수 있습니다.

원인

이 문제는 두 트랜잭션이 XLOCK에 대해 서로 대기 하기 때문에 발생 합니다. 쿼리를 컴파일하면 두 트랜잭션에서 테이블에 대 한 공유 잠금을 얻은 다음 serializable 격리를 위해 잠금을 유지 합니다. 두 트랜잭션에서 모두 실행을 수행 하려고 하면 (XLOCK 잠금 힌트를 포함 하는 동일한 테이블의 쿼리) 두 트랜잭션이 모두 XLOCK에 대해 대기 합니다. 따라서 교착 상태가 발생 합니다.참고이 문제는 두 트랜잭션에서 TABLOCK 잠금 힌트가 포함 된 동일한 테이블에서 DML 작업을 수행 하는 경우에도 발생 합니다.

해결 방법

SQL Server Compact 3.5 서비스 팩 2

이 문제에 대 한 픽스는 먼저 누적 업데이트 2에서 릴리스 되었습니다. SQL Server 2008 R2 용 누적 업데이트 패키지를 구하는 방법에 대 한 자세한 내용은 다음 문서 번호를 클릭 하 여 Microsoft 기술 자료 문서를 참조 하세요.

2289547 SQL Server Compact 3.5 서비스 팩 2 용 누적 업데이트 2

상태

Microsoft는 "적용 대상" 절에 나열한 제품에서 이 문제를 확인했습니다.

추가 정보

교착 상태에 대 한 자세한 내용을 보려면 다음 MSDN (Microsoft Developer Network) 웹 사이트를 방문 하세요.

트리거되DML에 대 한 자세한 내용을 보려면 다음 MSDN 웹 사이트를 방문 하세요.

M소프트웨어 업데이트 용어에 대한 자세한 내용은 다음 문서 번호를 클릭하여 Microsoft 기술 자료 문서를 참조하십시오.

824684 Microsoft 소프트웨어 업데이트를 설명하는 데 사용되는 표준 용어에 대한 설명

추가 도움이 필요하신가요?

기술 향상
교육 살펴보기
새로운 기능 우선 가져오기
Microsoft Insider 참가

이 정보가 유용한가요?

소중한 의견에 감사드립니다.

피드백을 주셔서 감사합니다. Office 지원 에이전트와 연락하는 것이 도움이 될 것 같습니다.

×