KB3037624 - FIX: SQL Server 2012 또는 SQL Server 2014에서 복잡한 병렬 쿼리가 응답하지 않습니다.

적용 대상
SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2014 Web - duplicate (do not use)

증상

Microsoft SQL Server 2012 또는 Microsoft SQL Server 2014에서 상당한 수의 병렬 스레드가 필요한 복잡한 SQL Server 쿼리를 실행하고 해당 스케줄러에서 작업자 스레드가 소진된 경우를 가정해 보겠습니다. 드문 경우지만 감지되지 않은 교착 상태로 인해 쿼리가 무기한 진행되지 않습니다.

참고 SQL Server의 다른 스케줄러에 사용 가능한 작업자가 있는 경우 데이터베이스 엔진은 다른 쿼리를 올바르게 처리할 수 있습니다.

원인

작업자 스레드 고갈이 발생하면 작업자 스레드 간의 특정 대기는 잠재적 차단기로 처리되지 않습니다. 따라서 교착 상태 모니터는 상태를 검색하지 못합니다. 이로 인해 쿼리가 응답하지 않습니다. 이러한 조건이 발생할 가능성은 낮고 주로 쿼리 계획 모양, 병렬 처리 수준, 작업자 스레드 가용성에 따라 달라집니다.

해결 방법

누적 업데이트 정보

이 문제는 다음 SQL Server 누적 업데이트에서 처음 해결되었습니다.

권장 사항: SQL Server용 최신 누적 업데이트 설치

SQL Server에 대한 각각의 새로운 누적 업데이트에는 이전 누적 업데이트에 포함된 모든 핫픽스와 모든 보안 수정 사항이 포함되어 있습니다. SQL Server용 최신 누적 업데이트를 다운로드하여 설치하는 것이 좋습니다.

      

상태

Microsoft에서 이는 "적용 대상" 섹션에 나열된 Microsoft 제품에서의 문제임을 확인했습니다.