Vor einiger Zeit habe ich etwas mit SharePoint 2010 gespielt und einen interessanten Fehler festgestellt.

Das Erstellen neuer Projekte auf dem Entwicklungssystem funktionierte unter dem Benutzer, der SharePoint eingerichtet hat, wunderbar. Alle anderen bekamen jedoch die folgende Fehlermeldung:

SharePoint 2010 und Visual Studio 2010 Zugriff

Die Benutzer wurden alle als Farm-Administratoren eingerichtet, sodass ausreichend Berechtigungen vorhanden sind. Ebenso stimmt die URL und die Seite ist auch in Betrieb.

Legt man das Projekt trotzdem an und versucht dieses zu Erstellen gibt es eine detailliertere Fehlermeldung: “Fehler im Bereitstellungsschritt IIS-Anwendungspool wiederverwenden: Der lokale SharePoint-Server ist nicht verfügbar. Überprüfen Sie, ob der Server ausgeführt wird und mit der SharePoint-Farm verbunden ist.”

So habe ich vermutet, dass ein Fehler in der IIS-Konfiguration liegt, wurde dort aber nicht fündig. Nachdem ich Bing etwas bemüht habe, fand ich den Tipp einen Blick in das SharePoint-Protokoll unter C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\LOGS zu schauen.

Und tatsächlich, dort war folgender Fehler festgehalten:

04/29/2010 14:32:22.15     vssphost4.exe (0x165C)                      0×1780    SharePoint Foundation             Database                          880i    High        System.Data.SqlClient.SqlException: Fehler bei der Anmeldung für den Benutzer ‘SPT2010TEST\Administrator’.     bei System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)     bei System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)     bei System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)     bei System.Data.SqlClient.SqlInternalConnectionTds.CompleteLogin(Boolean enlistOK)     bei System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, Int64 timerExpire, SqlConnection owningObject)     bei System.Data….

 

Aha! Fehlende Rechte im SQL-Server sind also das Problem. Wäre sinnvoll, wenn man dies in die Fehlermeldung mit herein schreiben würde 😉