증상
Microsoft SQL Server 2016 또는 2017에서 많은 수의 임시 테이블을 만들거나 삭제 한다고 가정 합니다. 특정 응용 프로그램 작업은 임시 테이블의 캐시를 무효화 합니다. 예를 들어 임시 테이블을 만든 다음 ALTER TABLE 또는 CREATE INDEX를 만들어 임시 테이블의 캐시 를 무효로 만들 수 있습니다. 이 경우 다음과 같은 문제가 발생할 수 있습니다.
-
시스템 카탈로그 sysobjvalues의 tempdb에 있는 DDL (데이터 정의 언어) 경합 및 PAGELATCH_EX를 기다리는 많은 수의 세션, PAGELATCH_SH 및 PAGELATCH_UP 대기 유형이 발생 합니다.
-
이 상황은 또한 항목 수가 4000 보다 많은 경우 작업 부하에 영향을 줍니다. 그러나 작업 부하에 따라 달라질 수 있습니다. 다음 예제를 참조 하세요.
SELECT [name], [type], [entries_count], [entries_in_use_count]
FROM sys.dm_os_memory_cache_counters
WHERE [type] = N'CACHESTORE_TEMPTABLES'
성을
입력할
entries_count
entries_in_use_count
테이블 변수를 & 임시 테이블
CACHESTORE_TEMPTABLES
<개수>
<개수>
해결 방법
이 문제는 다음과 같은 SQL Server 누적 업데이트에서 해결 되었습니다.
각각의 새로운 새 누적 업데이트에는 이전 누적 업데이트에 포함 된 모든 핫픽스와 모든 보안 수정 사항이 포함 되어 있습니다. SQL Server에 대 한 최신 누적 업데이트를 확인 하세요.
상태
Microsoft는 "적용 대상" 절에 나열한 제품에서 이 문제를 확인했습니다.
참조
Microsoft에서 소프트웨어 업데이트를 설명 하는 데 사용 하는 용어에 대해 알아봅니다.