2012-08-31

SharePoint 2010 und SQL Server 2012

Der Treiber macht's...

Heute möchte ich über ein Problem berichten, das auftritt, wenn man mit Power View oder PerformancePoint Services auf tabulare Modelle (PowerPivot auf SharePoint oder SSAS Tabular) zugreifen möchte.

Die Theorie

Tabulare Modelle lassen sich von außen mit MDX abfragen. Daher können "alte" MDX-Clients (z.B. Excel) problemlos auf Modelle zugreifen, die
  • mit PowerPivot erstellt und in einer SharePoint Bibliothek veröffentlicht wurden
  • oder mit den Data Tools in einem Projekt vom Typ "Analysis Services Projekt für tabellarische Modelle" erstellt und dann auf einer tabularen SSAS Instanz bereitgestellt wurden.
Besonders interessante Clients sind für mich zurzeit die SharePoint Komponenten Power View und PerformancePoint Services.

Die Praxis

Tatsächlich gibt es aber ein Problem, das mich heute viel Zeit gekostet hat. Es zeigt sich anhand unspezifischer Fehlermeldungen in diesen Situationen:
  • Beim Einrichten einer Datenverbindung in SharePoint vom Typ "BI Semantic Model Connection" (Fehlermeldung: "Cannot connect to the server or database")
  • In PerformancePoint Services beim Erstellen einer Datenverbindung (Fehlermeldung: "PerformancePoint Services was unable to connect to <Instanz>. Verify that the server name is correct and that the Unattended Service Account has permission to connect to the server.")
Mehrfaches Überprüfen der Verbindungsinformationen brachte mich nicht ein Stück weiter - diese waren offensichtlich korrekt.

Die Lösung

Nach einer Standardinstallation von SharePoint 2010 gibt es ein Kompatibilitätsproblem: Für den Zugriff auf eine SQL Server Analysis Services 2012 Instanz im tabularen Modus benötigt der SharePoint Frontend Server den ADOMD Treiber aus dem Feature Pack von SQL Server 2008 R2 SP1. Darauf muss man erst einmal kommen!
Sie können auf Ihren SharePoint Servern unter "Programs and Features" kontrollieren, welche Version des ADOMD Treibers installiert ist. Nach der SharePoint Installation hat der Treiber die Version 10.0x. Benötigt wird aber die Version 10.5x.

Liste der ADOMD Treiber auf einem SharePoint Frontend Server
Den richtigen ADOMD Treiber können Sie hier herunterladen:
http://www.microsoft.com/en-us/download/details.aspx?id=26728
Je nachdem, ob Sie SharePoint auf einer 32-Bit Plattform oder auf einer 64-Bit Plattform installiert haben, brauchen Sie die passende Variante
64-Bit: 1033\x64\SQLSERVER2008_ASADOMD10.msi
32-Bit: 1033\x86\SQLSERVER2008_ASADOMD10.msi

Bei der Installation gibt es eine Warnung (die ältere Version des Treibers wird überschrieben - das ist in Ordnung) und möglicherweise den Hinweis, dass eine Datei nicht ausgetauscht werden kann, weil sie in Benutzung ist. In diesem Fall stoppen Sie den Internet Information Server. Das geht am einfachsten mit dem Programm "Internet Information Services (IIS) Manager".
Nach Stoppen (falls nicht schon erfolgt) und Starten des IIS Dienstes ist das Problem beseitigt.
Das Stoppen und Starten des IIS Dienstes geht alternativ auch über den Kommandozeilenbefehl "iisreset /STOP" beziehungsweise "iisreset /START".

Anmerkung

Natürlich liegt es nahe, bei einem solchen Problem mal wieder über Microsoft zu schimpfen und sich zu fragen, warum "die" das denn nicht besser hinbekommen. Geht Ihnen das auch so? Dann empfehle ich die Lektüre dieses Artikels von Kevin Donovan. Danach wurde mir klar, welche Kompatibilitätsprobleme SharePoint zu bewältigen hat, schließlich soll SharePoint 2010 ja gleichermaßen mit PowerPivot 2008 R2 und mit PowerPivot 2012 funktionieren.
Mein Fazit war danach: Das ist sehr nachvollziehbar und die Microsoft Entwickler haben einen guten Job gemacht!