【问题标题】:Analysis Services database works with ASP.NET Development Server but NOT IISAnalysis Services 数据库适用于 ASP.NET 开发服务器,但不适用于 IIS
【发布时间】:2011-02-15 17:44:43
【问题描述】:

我有一个 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 开发服务器(从 Visual Studio 部署)上使用 Web 应用程序时,一切正常。我的域帐户和相应的数据库角色被正确识别,并且安全性按照数据库角色中的定义工作。

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

传输层遇到错误。 对等端提前关闭了连接。



在 SQL Profiler 中(对于 IIS 连接失败的情况)我只收到以下两个事件:

审核登录 MyWindowsUsername DOMAINNAME

审核注销 MyWindowsUsername DOMAINNAME

Analysis Services 似乎可以识别模拟帐户,但连接仍然中断。

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

【问题讨论】:

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


    【解决方案1】:

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

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

    ASP.NET 开发服务器仅在您的登录帐户下运行,这会阻止您提前注意到此问题。

    【讨论】:

    • 即使所有资源都在同一台机器上,委托是必要的,你是对的。不知道为什么,但无论如何这个问题很快就会出现在其他用户身上。非常感谢您的回答。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-26
    • 1970-01-01
    • 1970-01-01
    • 2012-10-05
    • 2020-02-19
    相关资源
    最近更新 更多