Nach der Migration einer OLAP-DB von SQL Server 2005 auf SQL Server 2008 R2 trat bei der Verarbeitung eines Cubes sporadisch immer wieder ein Fehler auf – Invalid Enumeration Value. Dies führte dazu, dass sich die OLAP-DB nicht mehr bereitstellen ließ. Die Verarbeitung der Cubes brach ohne erkennbaren Grund mit folgenden Fehlermeldungen ab:
„Fehler 241: Internal error: Invalid enumeration value. Please call customer support! ist kein gültiger Wert für dieses Element.
Fehler 242: Beim Analysieren des Elements ‘StorageMode’ in Zeile 1, Spalte 5374 (http://schemas.microsoft.com/analysisservices/2003/engine- Namespace) unter Load/ObjectDefinition/Dimension/StorageMode ist ein Fehler aufgetreten.
Fehler 243: Fehler im Metadaten-Manager. Fehler beim Instanziieren eines Metadatenobjekts aus der Datei ‘\\?\C:\Programme\Microsoft SQL Server\MSAS10_50.MSSQLSERVER\OLAP\Data\Statistik_Final.0.db\Fakt Belegung.2.dim.xml’. Fehler 244 Fehler im Metadaten-Manager. Fehler beim Laden von ‘cube’ (cube) aus der Datei ‘\\?\C:\Programme\Microsoft SQL Server\MSAS10_50.MSSQLSERVER\OLAP\Data\Statistik_Final.0.db\cube.4.cub.xml’.“
Quellen im Internet wiesen meistens daraufhin, dass dieser Fehler auftritt, wenn man eine OLAP-DB auf eine niedrigere SQL Server Version bereitstellen möchte. Doch dies lag in meinem Fall nicht vor. Ich wollte die OLAP-DB von meiner SQL Server 2008 R2 Entwicklungs-Umgebung auf die SQL Server 2008 R2 Stage-Umgebung bereitstellen.
Den entscheidenden Hinweis zur Fehlerbehebung fand ich recht versteckt in folgendem umfangreichen Forum-Thread:
Dort wird geraten eine XML-Datei zu löschen. Ich habe mir also meine spezifische Fehlermeldung noch einmal angesehen. Dort ist ebenfalls die Rede von einer .XML-Datei, die scheinbar Probleme verursacht. Kurzerhand habe ich mir besagte .XML Datei genauer angesehen:
Auffällig in dieser XML-Datei war, dass die Fehlermeldung direkt in die Datei geschrieben ist, was bei den übrigen Dimensions-XML-Dateien nicht der Fall ist. Zudem war diese Datei mit nur 7 KB auch deutlich kleiner als die restlichen XML-Dateien.
Zur Sicherheit habe ich eine Sicherung des Ordners erstellt und dann die besagte Datei gelöscht. Vor erneuter Bereitstellung des Cubes habe ich noch den Bereitstellungsmodus auf „Alle Objekte bereitstellen“ geändert, damit auch wirklich alle Objekte erneut bereitgestellt werden.
Anschließend ließ sich der Cube sauber bereitstellen und verarbeiten. Die gelöschte Datei wurde automatisch neu erstellt und wies nun keine Fehlermeldung mehr auf. Eine Alternative kann ebenfalls sein, die komplette OLAP-DB zu löschen und anschließend neu erstellen zu lassen. Auch hier darf natürlich der Hinweis auf eine vorherige Sicherung der OLAP-DB nicht fehlen.
Gundi Schmitt
Martin Schlenker
Claudia Broszio
Manni