SSAS 다차원 instance 오류(쿼리 최적화 프로그램이 너무 많은 하위 큐브를 생성함) 및 MDX 쿼리가 실패함

이 문서는 Microsoft SSAS(SQL Server Analysis Services) 다차원 instance MDX(다차원 식) 쿼리를 실행할 때 발생하는 문제를 resolve 데 도움이 됩니다.

적용 대상: SQL Server 2012 Analysis Services, SQL Server 2014 Analysis Services, SQL Server 2016 Analysis Services, SQL Server 2017 Analysis Services Windows, SQL Server 2019 Analysis Services Windows
원본 KB 번호: 4533057

증상

Microsoft SSAS(SQL Server Analysis Services) 다차원 instance MDX(다차원 식) 쿼리를 실행하면 MDX 쿼리가 실패하고 다음 오류 메시지가 반환됩니다.

쿼리 최적화 프로그램이 쿼리 계획에서 너무 많은 하위 큐브를 생성했습니다.

이 오류는 다음 조건이 true인 경우 발생합니다.

  • 단일 계층 수준 또는 특성에 너무 많은 계산 멤버가 정의됩니다.
  • 많은 필드 또는 특성 멤버가 각 축에 배치됩니다. 또는 Microsoft Excel에서 피벗 테이블의 행이나 열에 여러 필드가 함께 배치됩니다.
  • 선택한 계층의 모든 멤버가 축에 포함됩니다.
  • Excel 피벗 테이블에서 총합계 및 부분합이 켜져 있습니다.

원인

SSAS FE(수식 엔진)는 SE(스토리지 엔진) 쿼리 하위 큐브 또는 수중 음파 탐지기 하위 큐브에 대한 모든 관련 MDX 집합을 생성해야 합니다. 생성할 수 있는 쿼리당 SE 쿼리 하위 큐브 수에 제한이 있습니다. 이것은 정상적인 현상입니다. 현재 쿼리 계획에서 FE가 쿼리에 대해 너무 많은 쿼리 하위 큐브를 생성하는 경우 오류가 발생합니다.

해결 방법

이 오류를 방지하려면 다음 모범 사례 지침을 따르세요.

  • Excel 피벗 테이블에서 총합계와 부분합을 모두 끕니다.
  • Excel UI에서 피벗 테이블의 또는 축에서 계층 구조를 제거합니다.
  • 차원 계층 구조에 너무 많은 계산 멤버(예: 500개 이상)를 정의하지 마세요. 대신 차원 계층 구조에 정규 멤버가 있고 MDX scope 할당 식(계산 셀이라고도 함)을 사용하여 해당 계산 멤버의 식을 바꿉니다.