如何配置SQL Server以允许通过IIS进行访问

时间:2009-06-30 16:03:22

标签: sql-server iis

我有一个将数据存储在本地SQL Server 2008数据库中的Web服务。如果我在我的帐户下运行Web服务,则Web服务可以成功访问数据库。但是,如果我使用DefaultAppPool(IUSR)帐户,则从Web服务访问数据库失败。

如何在SQL Server上设置安全性以允许通过IIS访问特定数据库?

我得到的具体错误信息是: 用户'IIS APPPOOL \ DefaultAppPool'

登录失败

2 个答案:

答案 0 :(得分:11)

你有两个选择(显然可能!):

  • 而不是使用Windows Integrated 安全使用SQL身份验证 代替。
  • 如果你不能或不想,那么你有 在SQL Server中创建新用户 与Windows帐户有关。
  • 或(第三个选项)您可以将网络服务更改为在您知道有效的帐户下运行。

答案 1 :(得分:5)

我通常在域用户帐户下运行应用程序池,这样就可以控制服务器上每个站点的特定用户。

如果我不能使用域帐户,我会将该网站作为“网络服务”运行 - 并且与SQL中的对应的用户将是机器帐户(MACHINENAME $ - 将“machinename”替换为您的IIS服务器名称“)。

如果您打算使用新的IIS7 IIS用户(不是Windows用户),则必须使用SQL身份验证而不是Windows身份验证来进行SQL数据库访问。