我有一个ASP.NET应用程序需要连接到Analysis Services数据库。 所有组件都在同一台机器上:
我的域帐户(DOMAINNAME \ MyWindowsUsername)是SQL Server的管理员,也是本地计算机上的“管理员”组。
Web应用程序使用Windows身份验证和身份impersonate =“true”。
我的IIS Windows身份验证设置(我也尝试了其他组合,但没有成功......):
当我在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管理员(只是为了理解这背后的逻辑),但也没有成功(总是相同的错误)。
答案 0 :(得分:1)
您必须使用委派将用户凭据从Web浏览器传递到SSAS,
http://msdn.microsoft.com/en-us/library/ff647404.aspx
ASP.NET Development Server只能在您的登录帐户下运行,这会阻止您提前注意到此问题。