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.
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
Article ID: 3163991 - Last Review: Jul 19, 2016 - Revision: 1