What’s this exception?
[Analysis Services Execute DDL Task] Error: Internal error: An unexpected error occurred (file ‘mdinfo.cpp’, line nnnn, function ‘MDInfo::Init’).
My guess is that it’s most likely an unhandled exception from the product. I recently encountered this exception while processing index of a particular SSAS Cube using SSIS Analysis Services Processing Task. The cube did get processed in a previous step and only the process index step failed, the cube was still available for browsing minus the indexes.
How to work around this error?
Given that there is little information about this error how to fix the process index step from failing? I did not have the luxury to delete and redeploy the Analysis Service database since the database hosted other cubes that were working perfectly fine and had roles and dimension data security already defined. So I set about to find out which SSAS object was responsible for this exception
- I started by removing all related dimensions from the process index task and just processed the index of cube, measure group and partitions. At this stage, process index step was successful.
- To that mix, I put back the all dimensions that were shared between the different measure groups and processed index. This step was also successful.
- Then iteratively put back the dimensions specific to each measure group one by one. Found one particular set of dimensions linked to a specific measure group caused the process index to fail.
- Removed the failed set of dimensions and added one by one (by alphabetical order, easier that way) and narrowed down the problem to a particular dimension.
- Just to be sure, went back to the SSAS cube project and checked definition of that specific dimension and its dimension linkage to the measure group–all looked well. But then realized that the error configuration on this particular cube was set to ignore errors (not recommended, but interim solution) because there were known integrity issues from source data on that problem dimension that were still being addressed. Probably, ignore errors on cube processing may not be applicable to Process Index
- Anyway, I removed that particular problem dimension from Process Index and the step was successful. Just have to remember to set the error configuration to default and put back that dimension onto the Process Index step once the data integrity issues have been addressed.