无法使用运行网络服务帐户的应用程序池连接到SQL Server

时间:2011-03-03 14:07:07

标签: asp.net sql-server odbc

我们在Windows 2003上运行了一个ASP.NET 3.5应用程序。出于迁移目的,此应用程序通过ODBC连接到非常旧版本的SQL Server 4.21。它始终有效,直到有一天在所有服务器上停止工作(服务器不存在或访问被拒绝)。经过一周的研究,我们发现问题是运行Web应用程序(网络服务)中使用的应用程序池的帐户,如果我们将此帐户更改为“本地服务”或“本地系统”连接有效,但是帐户出现了许多其他问题。 “本地系统”帐户一切正常,但我们认为使用具有管理员权限的帐户是不安全的。

目标是:

  • 使连接与使用网络服务帐户
  • 运行的应用程序池一起使用
  • 知道为什么如果网络服务工作几个月,就停止工作。

也许我们需要为odbc库或类似的东西授予一些权限,或许来自Windows更新的一些安全更新导致了这个问题。

一些线索:

  • Web应用程序在Windows 2003下通过IIS运行。此Windows 2003为
    通过Active Directory域
  • SQL Server位于NT域之上。 (新台币3.51)
  • ODBC系统DSN正在使用“SQL Server”驱动程序,在客户端上使用TCP / IP或命名管道 配置。
  • 与数据库的连接使用SAL帐户,而不是可信连接。
  • 连接始终有效,并在所有服务器上停止工作于24/02/2011 开发人员工作站

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您可以连接到作为网络服务帐户运行的SQL。在SQL端,请确保您已授予对" \ $"的数据库的访问权限。如果您在域EMEA并且机器的名称是" machine1",那么授予访问权限的用户是" EMEA \ machine1 $"。