증상

Microsoft SQL Server 2016(또는 2017)의 새 인스턴스 또는 이전 버전의 SQL Server 업그레이드된 SQL Server 2016(또는 2017)의 인스턴스를 사용하는 경우 높은 CPU 사용량으로 인해 성능 문제가 발생합니다. 또한 sys.dm_os_spinlock_stats 테이블을 쿼리하는 경우 테이블의 다른 행에 비해 SECURITY_CACHE(보안 캐시) 및 CMED_HASH_SET(메타데이터 캐시) 행의 스핀 열에 높은 값이 표시됩니다. 예를 들어 다음 값이 표시됩니다.

오류

원인

이 문제는 동시 시스템에서 스핀 잠금 경합이 높기 때문에 발생합니다. 이러한 운영 체제에서는 여러 CPU 스레드가 리소스에 대해 경쟁하고 연장된 간격 동안 회전하는 동안 루프에서 주기적으로 실행하여 리소스를 즉시 산출하는 대신 사용할 수 있는지 여부를 확인합니다. 여러 CPU 스레드가 출력하는 대신 리소스에 대해 계속 회전하는 경우( 잠시 후) 높은 CPU 사용량 및 성능 문제가 발생합니다.

해결 방법

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

참고 SQL Server 2016 CU2(누적 업데이트 2)를 적용하면 SECURITY_CACHECMED_HASH_SET 이름이 각각 LOCK_RW_SECURITY_CACHELOCK_RW_CMED_HASH_SET 변경됩니다. CU2가 적용된 후 값은 다음과 같이 표시됩니다.

업데이트

SQL Server 대한 각각의 새로운 누적 업데이트에는 모든 핫픽스 및 이전 누적 업데이트에 포함된 모든 보안 수정 사항이 포함됩니다. SQL Server 대한 최신 누적 업데이트를 확인하세요.

SQL Server 2017의 최신 누적 업데이트

SQL Server 2016의 최신 누적 업데이트

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

기술 향상

교육 살펴보기 >

새로운 기능 우선 가져오기

Microsoft Insider 참가 >

이 정보가 유용한가요?

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

의견 주셔서 감사합니다!

×