증상
Microsoft SQL Server 2016 Analysis Services 인스턴스를 사용 한다고 가정 합니다. 더 많은 전역 범위 개체가 캐시 되는 동안 해당 캐시는 정리 되지 않습니다. 이로 인해 메모리가 지속적으로 증가 하 고 결국 서버가 충돌할 수 있습니다. 전역 범위는 각 사용자의 보안 요구 사항에 따라 캐시 됩니다. 따라서 일반적으로 다음 시나리오 중 하나가 발생 하는 경우에만이 문제가 발생 합니다.
-
모델에 동적 식 (예: UserName (), CustomData ())이 있습니다. 이는 문제를 확인 하기 위한 필수는 아니지만 일반적으로 발생 하는 원인입니다. 동적 식이 있는 경우 각 고유 사용자는 고유한 전역 범위를 작성 해야 합니다. 이렇게 하면 만들고 캐시 해야 하는 전역 범위의 수가 크게 증가 합니다.
-
메타 데이터 및 보안이 많은 복잡 한 모델을 사용 하는 경우 이것은 범위 개체별 메모리 비용에 영향을 미칩니다. 캐시 된 전역 범위의 수가 증가할수록 메모리 공간은 범위 개체 당 메모리 비용을 기준으로 증가 합니다.
-
서버에 연결 하는 고유한 사용자가 많은 경우 예를 들어 PowerBI.com는 각 사용자의 대시보드에서 자주 일정을 새로 고칠 수 있습니다. 이러한 문제가 발생 하면 Analysis Services에서 각 고유 사용자와 여러 개의 연결을 받고 전역 범위 수가 급격히 증가 하며 많은 메모리를 사용 합니다.
참고:이 핫픽스를 적용 한 후에는 SQL Server 버전이 13.0.2170.0 됩니다.
해결 방법
누적 업데이트 정보
이 문제에 대 한 해결 방법은 SQL Server의 다음과 같은 누적 업데이트에 포함 되어 있습니다.
각각의 새로운 새 누적 업데이트에는 이전 누적 업데이트에 포함 된 모든 핫픽스와 모든 보안 수정 사항이 포함 되어 있습니다. SQL Server에 대 한 최신 누적 업데이트를 확인 하세요.
해결 방법
이 문제를 해결 하려면 적절 한 일정에 따라 <ClearCache> XMLA 명령을 데이터베이스에 수동으로 실행 합니다. 이렇게 하면 모든 전역 범위 캐시를 지우고 메모리를 다시 줄일 수 있습니다. 이 옵션은 캐시 된 전역 범위를 다시 사용할 수 없기 때문에 다음에 연결할 때 몇 가지 성능 비용을 발생 시킵니다.
상태
Microsoft는 "적용 대상" 절에 나열한 제품에서 이 문제를 확인했습니다.
참조
Microsoft에서 소프트웨어 업데이트를 설명 하는 데 사용 하는 용어 에 대해 알아봅니다.