증상
Microsoft SQL Server 2016 및 2017에서 AUDIT_LOGIN 및 AUDIT_LOGIN_FAILED 이벤트에 이벤트 알림을 사용 하는 스크립트가 있다고 가정 합니다. 스크립트를 실행 하면 TempDB 크기가 급격히 증가 하는 것을 볼 수 있습니다.
아래 쿼리를 사용 하 여 TempDB 내부 개체에 할당 된 공간이 올바르게 할당 되지 않았는지 확인할 수 있습니다.
SELECT *
FROM (
SELECT TS.internal_objects_alloc_page_count , TS.internal_objects_dealloc_page_count, [Net Allocation MB] = CAST((TS.internal_objects_alloc_page_count - TS.internal_objects_dealloc_page_count) AS DECIMAL(15, 2)) / 128
, TS.session_id
, ER.command
FROM sys.dm_db_task_space_usage TS
INNER JOIN sys.dm_exec_requests ER ON ER.request_id = TS.request_id AND ER.session_id = TS.session_id
where TS.session_id < 50
) internal
where [Net Allocation MB] != 0
원인
이 문제는 SQL Server 2016 서비스 팩 1에 대 한 누적 업데이트 6의 재발 때문에 발생 합니다.
해결 방법
이 문제는 다음과 같은 SQL Server 누적 업데이트에서 해결 되었습니다.
각각의 새로운 새 누적 업데이트에는 이전 누적 업데이트에 포함 된 모든 핫픽스와 모든 보안 수정 사항이 포함 되어 있습니다. SQL Server에 대 한 최신 누적 업데이트를 확인 하세요.
상태
Microsoft는 "적용 대상" 절에 나열한 제품에서 이 문제를 확인했습니다.
참조
Microsoft에서 소프트웨어 업데이트를 설명 하는 데 사용 하는 용어에 대해 알아봅니다.