Analysis Services-database arbeitet mit ASP.NET Development server aber NICHT IIS

Ich habe eine ASP.NET-Anwendung, die eine Verbindung zur Analysis Services-database herstellen muss. Alle Komponenten befinden sich auf derselben Maschine:

  • Internetanwendung
  • IIS
  • Visual Studio 2008
  • SQL server 2008

Mein Domänenkonto (DOMAINNAME \ MyWindowsUsername) ist ein Administrator auf dem SQL server und auch in der Gruppe "Administratoren" auf dem lokalen Rechner.

Web-Anwendung verwendet Windows-authentication und Identität impersonate = "true".

Meine IIS Windows Authentication Einstellungen (ich habe auch andere Kombinationen ausprobiert aber keinen Erfolg …):

  • Erweiterter Schutz: Aus
  • Aktivieren Sie die coreel-Modus-authentication: true
  • Ermöglicht Provider: NTLM

Wenn ich Web-Anwendung auf ASP.NET Development server (implementiert von Visual Studio) dann alles funktioniert ok. Mein Domänenkonto und entsprechende databaserollen werden korrekt erkannt und die security funktioniert wie in databaserollen definiert.

Aber wenn ich die gleiche Web-Anwendung (ohne Änderungen in Code) auf IIS Ich bekomme Fehler (im Browser):

In der Transportschicht ist ein Fehler aufgetreten. Der Peer hat die Verbindung vorzeitig geschlossen.

In SQL Profiler (für IIS-Fall, wenn die Verbindung fehlschlägt) bekomme ich nur diese beiden Ereignisse:

Audit Login MyWindowsUsername DOMAINNAME

Audit Logout MyWindowsUsername DOMAINNAME

Es scheint, Analysis Services erkennt das imitierte Konto, aber immer noch die Verbindung bricht.

Ich habe festgestellt, dass ASP.NET Development server unter DOMAINNAME \ MyWindowsUsername läuft, während IIS unter LocalSystem (die Standardeinstellung). Ich habe versucht, mit den Konten zu spielen, indem ich verschiedene System- / Netzwerkkonto als Analyis Services Administratoren hinzufüge (nur um die Logik dahinter zu verstehen), aber auch ohne Erfolg (immer der gleiche Fehler).

   

Sie müssen Delegation verwenden, um die Benutzerberechtigung vom Webbrowser an SSAS weiterzugeben,

http://msdn.microsoft.com/en-us/library/ff647404.aspx

ASP.NET Development server läuft einfach unter Ihrem Anmeldekonto, was Sie daran hindert, dieses Problem früher zu bemerken.