Analysis Services数据库适用于ASP.NET Development Server但不适用于IIS

时间:2011-02-15 17:44:44

标签: sql-server iis olap ssas asp.net-development-serv

我有一个ASP.NET应用程序需要连接到Analysis Services数据库。 所有组件都在同一台机器上:

  • 网络应用
  • IIS
  • Visual Studio 2008
  • SQL Server 2008

我的域帐户(DOMAINNAME \ MyWindowsUsername)是SQL Server的管理员,也是本地计算机上的“管理员”组。

Web应用程序使用Windows身份验证和身份impersonate =“true”。

我的IIS Windows身份验证设置(我也尝试了其他组合,但没有成功......):

  • 扩展保护:关闭
  • 启用内核模式身份验证:true
  • 启用提供商:NTLM



当我在ASP.NET Development Server上使用Web应用程序(从Visual Studio部署)时,一切正常。我的域帐户和相应的数据库角色被正确识别,安全性正如数据库角色中定义的那样工作。

但是,当我将相同的Web应用程序(没有任何代码更改)部署到IIS时,我得到错误(在浏览器中):

传输层遇到错误。 同伴过早地关闭了连接。



在SQL事件探查器中(对于IIS连接失败的情况)我只得到这两个事件:

审核登录 MyWindowsUsername DOMAINNAME

审核退出 MyWindowsUsername DOMAINNAME

分析服务似乎识别出模拟帐户,但连接仍然断开。

我注意到ASP.NET Development Server在DOMAINNAME \ MyWindowsUsername下运行,而IIS在LocalSystem下运行(默认设置)。我尝试使用帐户,添加各种系统/网络帐户作为Analyis Services管理员(只是为了理解这背后的逻辑),但也没有成功(总是相同的错误)。

1 个答案:

答案 0 :(得分:1)

您必须使用委派将用户凭据从Web浏览器传递到SSAS,

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

ASP.NET Development Server只能在您的登录帐户下运行,这会阻止您提前注意到此问题。