증상

통계와 테이블이 많고 테이블에 Microsoft SQL Server 2012 또는 SQL Server 2014 데이터베이스에 많은 열이 포함 되어 있다고 가정 합니다. 여러 임의 쿼리를 실행 하 여 해당 테이블의 데이터를 동시에 검색 하는 경우, 실행 중에 CMEMTHREAD가 대기 하 게 될 수 있습니다.

해결 방법

누적 업데이트 정보

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

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

추가 정보

SQL Server 2012에서 쿼리를 컴파일 또는 다시 컴파일하면 엔진이 통계 히스토그램에서 입력을 받아야 합니다. 시스템 테이블 검사를 수행한 다음 메모리 또는 캐시와 관련 된 표의 특정 히스토그램을 로드 해야 합니다. 이러한 시스템 테이블 항목 (통계에 대 한)은 시스템 테이블 캐시 (CACHESTORE_SYSTEMROWSET)에 저장 됩니다. 캐시에서 이러한 엔트리를 만드는 데 사용 되는 메모리 개체는 전역적으로 분할 되지 않습니다. 따라서이 작업 중에 동시 메모리 할당이 수행 되는 경우이 메모리 개체에서 Cmemthread 가 대기 하 게 됩니다. 이는 일반적으로 컴파일 또는 재컴파일이 필요한 많은 쿼리를 제출할 때 발생 합니다. 이 핫픽스는 시스템 테이블 캐시를 사용 하는 동시 메모리 할당이 경합을 발생 하지 않고 Cmemthread 가 대기 하도록 전역 메모리 개체를 분할 하도록 변경 합니다. 유사한 문제에 대 한 자세한 내용은 KB 3026082: FIX: 시스템 테이블 행 집합 캐시의 spinlock 경합이 SOS_CACHESTORE SQL Server 2012 또는 2014에서 CPU 사용률이 높기 때문입니다.

상태

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

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

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

이 정보가 유용한가요?

언어 품질에 얼마나 만족하시나요?
사용 경험에 어떠한 영향을 주었나요?

의견 주셔서 감사합니다!

×