증상
다음 시나리오를 고려하세요.
- 다차원 모드에서 SQL Server Analysis Services 사용합니다.
- Windows 하위 조각화 힙을 사용하려면 HeapTypeForObjects 속성을 0 으로 설정합니다.
- 쿼리와 처리 작업의 혼합을 실행합니다.
이 시나리오에서는 Analysis Services 엔진에 의해 할당된 큰 개체로 인해 Windows 메모리 힙이 몇 시간 또는 며칠 동안 조각화될 수 있습니다. 조각화가 쌓이면 인덱스 처리 작업이 병목 상태가 시작되고 완료하는 데 매우 오랜 시간이 걸릴 수 있습니다.
해결 방법
업데이트 정보
이 문제는 다음과 같은 SQL Server 누적 업데이트에서 해결되었습니다.
SQL Server 2014 SP2에 대한 누적 업데이트 1
2012년 SQL Server 서비스 팩 3의 누적 업데이트 4
SQL Server 2014 SP1의 누적 업데이트 8
권장 사항: SQL Server 대한 최신 누적 업데이트 설치
SQL Server 대한 각각의 새로운 누적 업데이트에는 이전 누적 업데이트에 포함된 모든 핫픽스 및 모든 보안 수정 사항이 포함됩니다. SQL Server 대한 최신 누적 업데이트를 확인하세요.
SQL Server 2012 SP3에 대한 최신 누적 업데이트
SQL Server 2014(SP1/SP2)에 대한 최신 누적 업데이트
추가 정보
기본적으로 Analysis Services는 고정 형식 개체의 메모리 할당에 LFH(Windows Low Fragmentation Heap)를 사용합니다. 이는 HeapTypeForObjects 설정에 의해 제어됩니다. 경우에 따라 LFH 힙이 조각화되어 성능 병목 현상이 발생할 수 있습니다. LFH는 일반적으로 16KB보다 큰 할당이 이루어질 때 조각화됩니다.
이 업데이트는 개체의 크기가 16KB 미만인 경우에만 Windows LFH 힙을 사용하도록 이러한 고정 형식 개체 할당에 대한 Analysis Services 동작을 변경합니다. 개체의 크기가 16KB보다 큰 경우 Analysis Services는 Analysis Services 힙 구현을 대신 사용합니다. Analysis Services 힙 구현은 LFH 힙보다 느리게 실행될 수 있습니다. 그러나 이 조각화 문제가 발생하지 않습니다.
상태
Microsoft에서 이는 "적용 대상" 섹션에 나열된 Microsoft 제품에서의 문제임을 확인했습니다.
참조 자료
Microsoft에서 소프트웨어 업데이트를 설명하는 데 사용하는 용어에 대해 알아보세요.