Performance of Analysis Services in Multidimensional mode degrades over time

Applies to: SQL Server 2012 Analysis ServicesSQL Server 2014 DeveloperSQL Server 2014 Developer


Consider the following scenario:

  • You use SQL Server Analysis Services in Multidimensional mode.
  • You set the HeapTypeForObjects property to 0 to use the Windows Low Fragmentation Heap.
  • You run a mixture of queries and processing operations.

In this scenario, the large objects that are allocated by the Analysis Services engine may cause fragmentation in the Windows memory heap over a period of hours or days. When the fragmentation builds up, an index processing operation may start to bottleneck and take a very long time to finish.


Update information

This issue is fixed in the following cumulative updates of SQL Server:

Cumulative Update 1 for SQL Server 2014 SP2

Cumulative Update 4for SQL Server 2012 Service Pack 3

Cumulative Update 8 for SQL Server 2014 SP1

More Information

By default, Analysis Services uses the Windows Low Fragmentation Heap (LFH) for memory allocations of fixed type objects. This is controlled by the HeapTypeForObjects setting. In some cases, the LFH heap can become fragmented and cause performance bottlenecks. The LFH typically become fragmented when allocations are made that are greater than 16 KB.

This update changes the Analysis Services behavior for these fixed type object allocations to use the Windows LFH heap only if the size of the object is less than 16 KB. If the size of the object is greater than 16 KB, Analysis Services instead uses the Analysis Services Heap implementation. The Analysis Services Heap implementation might run slower than the LFH heap. However, it does not experience this fragmentation problem.


Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.


Learn about the terminology that Microsoft uses to describe software updates.