Since we upgraded to SQL Server 2012 about 12 months ago, we randomly hit upon a particular error when running a ProcessAdd against one of our dimensions. The error in question was:
Microsoft.AnalysisServices.AdomdClient.AdomdErrorResponseException: File system error: The index data is damaged. Physical file: \\?\F:\OLAP\Data\XYZ.0.db\Member.0.dim\16.Id.Aggregate Member.fact.map.hdr. Logical file: .
The dimension in particular was our largest dimension by some margin. We have a cube per client and each of our clients cubes can vary in size, from a few mb to a +1TB. The dimension in question however never ran over the 4GB max recommended size for a dimension. This corrpution was causing us a major issue as the cube was unusablle and the resolution to fix was to run a process Update with Process Affected Objects, effectively meaning we had to rebuild our aggregation designs. On the larger cubes this took hours and halted any importing.
I searched for a fix online and sure enough there was a fix for our exact issue on Microsoft’s support site and that there is a fix for 2012 RTM Cu2, which was packaged up with SP1.
2673997 FIX: “The index data is damaged” error message when you run an MDX query against a dimension or partition in SSAS 2008, in SSAS 2008 R2 or in SSAS 2012
http://support.microsoft.com/kb/2673997/EN-US
Seeing as we had already applied SP1 (and CU2) this fix was not pertinent to us.
This chronic issue was really harming us. Eventually I made a support call to Microsoft, as we are a Gold Partner and got tech support and this seem such a time to utilize it. I got through to a member of the dev team and we worked our way through the scenario. Turns out it was a trifecta of setting that had caused us issues.
The first of these was our anti virus scanning was scanning one particular file in the $\OLAP directory which was causing the dimension to be come corrupt. I’ve blogged before about anti virus scanning the SSAS folders