Blog 2015-02-03: Wenn der IIS 7 nicht mit der MS SQL-DB will

2015-02-03: Wenn der IIS 7 nicht mit der MS SQL-DB will
Kategorie:IT / Web-Server
Stichworte:IT, Web, Server, IIS, IIS7, ms, microsoft, Internet Information Services, SQL, asp, .net, asp.net, fehler, meldung, fehlermeldung


Da entwickelt man in Microsoft Visual Web Developer ein bisschen unter asp.net und alles funktioniert wunderbar, solange es über den ASP.NET Development Server läuft, also den internen Webserver, den die Entwicklungsumgebung benutzt, wenn man eine asp.net Seite mal schnell debuggt.

Dann will man sich die Sache auch mal auf dem IIS anschauen, um die Seite in voller Pracht mit allen über / inkludierten css und Grafiken anzuschauen und dann erschlägt einen diese Fehlermeldung:

Serverfehler in der Anwendung /.

Der Serverprinzipal 'IIS APPPOOL\DefaultAppPool' kann unter dem aktuellen Sicherheitskontext nicht auf die xxx-Datenbank zugreifen.
Die von der Anmeldung angeforderte xxx-Datenbank kann nicht geöffnet werden. Fehler bei der Anmeldung.
Fehler bei der Anmeldung für den Benutzer 'IIS APPPOOL\DefaultAppPool'.
Für den aktuellen Befehl ist ein schwerwiegender Fehler aufgetreten. Löschen Sie eventuelle Ergebnisse.

Huch! Seine Hoheit, der Prinzipal kann nicht zugreifen? Ja, warum denn nicht? Mal wieder eine super ins Deutsche übersetzte Fehlermeldung. Wenn auch ein wenig verwirrend, gibt sie uns aber doch einen guten Hinweis: Der Benutzer 'IIS APPPOOL\DefaultAppPool' hat keine Rechte, auf die Datenbank zuzugreifen. Die Arbeit hat uns der Server aus der Entwicklungsumgebung wohl schon abgenommen.

Für den IIS 7 müssen wir das wohl selbst und zu Fuß machen. Bzw. mit dem Microsoft SQL Server Management Studio, das wir natürlich schon lange installiert haben, denn ohne dieses Tool hat man in Sachen MS SQL Server Datenbanken verloren. Nach dem Starten des Programmes suchen wir die betreffende Datenbank und schauen dort einmal links im Objekt-Explorer unter Datenbnken / unsere Datenbank / Sicherheit / Benutzer, was da so steht.

War ja klar, der Herr Prinzipal ist nicht vertreten. Dann wird es aber höchste Zeit, ihn hinzuzufügen. Das ist mit einem Rechtsklick auf Benutzer und dann Neuer Benutzer schnell getan.
Dann wählen wir 'SQL-Benutzer ohne Anmeldename' aus und geben dieses unaussprechliche 'IIS APPPOOL\DefaultAppPool' unter Benutzername an.
Danach wählen wir 'SQL-Benutzer ohne Anmeldename' aus und geben dieses unaussprechliche 'IIS APPPOOL\DefaultAppPool' unter Benutzername an.
Lese- und Schreibberechtigungen dürfen natürlich auch nicht fehlen..
Dann noch auf okay klicken.. und siehe da: die Website erstrahlt in vollem Glanz und ohne Fehler. That's all!