Applies ToSQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Symptoms

When you perform a processing operation on a dimension in SQL Server Analysis Services, and the service is under memory pressure, the dimension can't be processed, and the data may become corrupted.Note This issue occurs in a relatively rare race condition that's not pervasive. When this issue occurs, you may experience incorrect dimension relationships or ProcessUpdate failures.This issue has been observed under the following conditions:

  • Analysis Services memory usage exceeds the high memory limit configured for the service during the processing operation, causing Analysis Services to aggressively clean memory pages.

  • There is no error or message logged about the problem during processing, and dimension processing does not fail. Instead, processing is completed, and corrupted data is written to the dimension file.

  • The issue is most likely to appear as incorrect dimension attribute relationships for newly added dimension members. For example: a member in the Product dimension appears under the incorrect category or subcategory.

  • Another way this corruption may reveal itself: as a subsequent ProcessUpdate on a dimension that contains rigid attribute relationships, dimension processing fails with the following error message:

    Rigid relationships between attributes cannot be changed during incremental processing of a dimension.

    Note This error may also occur for legitimate reasons, such as changes in the underlying data source. However, if the underlying data in the table or view that serves as the source for the dimension has not changed, this could be the cause of the error. 

  • The issue does not always occur when the server is under memory pressure but sometimes occurs if the cleaner thread evicts a data page for newly added dimension members before the dimension processing is complete. This is a relatively rare race condition between the dimension processing thread and the memory cleaner threads in the Analysis Services service.

  • After this fix is installed, the issue will no longer occur, but the affected objects must be reprocessed to resolve the issue.

    • A ProcessUpdate on an impacted dimension when the server is not under memory pressure will correct corruption that has been caused by this issue for all flexible relationships. For an affected dimension that has one or more rigid attribute relationships the processing will fail with the error mentioned above.

    • To correct the issue for dimensions that contain rigid relationships, change the attribute relationships for the affected dimension on the server and run a ProcessUpdate. The attribute relationship can then be changed back to rigid, and the indexes for the measure groups that use the dimension can be rebuilt.

Resolution

This problem was first fixed in the following cumulative updates for SQL Server:

Cumulative Update 14 for SQL Server 2014 Cumulative Update 4 for SQL Server 2012 Service Pack 3 Cumulative Update 13 for SQL Server 2012 SP2 Cumulative Update 7 for SQL Server 2014 Service Pack 1

Each new cumulative update for SQL Server contains all the hotfixes and all the security fixes that were included with the previous cumulative update. Check out the latest cumulative updates for SQL Server:

Latest cumulative update for SQL Server 2014 Latest cumulative update for SQL Server 2012 SP3 Latest cumulative update for SQL Server 2012 SP2 

Status

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

References

Learn about the terminology Microsoft uses to describe software updates.

Need more help?

Want more options?

Explore subscription benefits, browse training courses, learn how to secure your device, and more.

Communities help you ask and answer questions, give feedback, and hear from experts with rich knowledge.