Thursday, May 16, 2013

SSAS Error: Internal error: Invalid ennumeration value.

I had seen few scenario where you perform any action on Analysis Services 2008 or 2008 R2 you get weird Error Message like:
  1. Internal error: Invalid enumeration value. Please call customer support! is not a valid value for this element.
  2. An error occurred while parsing the 'StorageMode' element at line 1, column 6751 ('http://schemas.microsoft.com/analysisservices/2003/engine' namespace) under Load/ObjectDefinition/Dimension/StorageMode.
  3. Errors in the metadata manager. An error occurred when instantiating a metadata object from the file, '\\?\H:\SSAS\OLAP\Data\CubeName\DimensionName.12.dim.xml'
Reason: Database Files / Stores got corrupted.
The possible causes of Corruption:
- If AS Services was restarted during Processing of a Cube.
- If AS Services was restarted during Backup.
- Sometimes Antivirus locks file and if services restarted during that state it can cause corruption.

Resolution:
Method 1 : If you have permission to create OLAP databases in SSMS then deploy to a new SSAS target database, or delete and recreate the target table.

Method 2: If you want to perform an incremental deployment execute DISCOVER_XML_DATA with ExpandFull option in xmla script editor.
The full command syntax is:


 Then in the BIDS OLAP solution file:
  • Right click the dimension reported by the problem and click "View Code".
  • Write a character and delete it so that the file seems modified (has a * by its name)
  • Save the file and process the dimension alone, without processing the cube
  • After this, processing the cude works fine   
Method 3: (Easiest and fastest method)
  • Unprocess the dimension which is reported by the error message, in my case - 'Task Created on Date.dim'.
  • Then deploy the whole OLAP database from BIDS (visual studio).

Method 4:
  • Stop SSAS services.
  • Go into the Data directory, find the ..db.xml file and delete it
  • Delete the corresponding .db directory.
  • Then restart SSAS services.
  • The error should be gone, and you can hopefully redeploy and reprocess it.


How to avoid the file corruption in future:
While doing any maintenance task on Server Like Patching / Server Updates or Restart ensure that no user is connected to Analysis Services, this you can ensure by checking profiler traces.

 This problem has been fixed in SSAS 2012.

Reference: