我已经建立了一个ASP.NET MVC 2网站,我使用IIS 7.0 Rackspace的云服务器托管。
当我尝试测试网站在本地主机与IIS 7.0服务器上我得到一个错误页面。 这来自于SQL日志(我使用SQL网络版):
Error: 18456, Severity: 14, State: 11
Login failed for user 'IIS APPPOOL\DefaultAppPool'. Reason: Token-based server access validation failed with an infrastructure error. Check for previous errors. [CLIENT: <local machine>]
所以这个问题是值得做的与数据库连接我的网站作品在我的家用电脑上的罚款。
已经研究了错误信息代码它表明,我有一个有效的数据库登录,但服务器访问失败。 我做了解决此阅读各种论坛和这里栈是什么,我都试过了,没有一个已经解决了的问题(包括计算器/ serverfault。):
使用SQL Server身份验证设置新的登录 。 我创建了SQL新的登录并给了正确的访问权限,我的数据库。 我用下面的Web配置连接字符串:
数据源= myServer上;初始目录= MYDB;用户ID =名为myUsername;密码= MYPASSWORD;
创建新的登录为
IIS APPPOOL\DefaultAppPool
。 我在SQL中创建新的登录与正确的访问权限和使用Windows身份验证。 连接字符串如下:服务器= myServer上;数据库= MyDatabase的; Trusted_Connection = TRUE;
利用现有的网络登录
NT AUTHORITY\NETWORK SERVICE
。 我映射这个用户我用正确的访问权限的数据库。 连接字符串如下:服务器= myServer上;数据库= MyDatabase的; Trusted_Connection = TRUE;
这些appeard是主要的选择,因为我通过材料的在线阅读。 最后,这里的一些其他的东西,可能会有所帮助:
- 设置SQL以管理员身份运行并没有解决问题
- 关闭
UAC
并没有帮助 - 我的应用程序池使用ApplicationPoolIdentity(最佳出于安全原因)
总之,我的网站将无法启动,因为它不能获取对象从DB因此引发错误。 问题是,对服务器的访问权限设置不正确。 我不能工作了,我需要什么样的SQL登录/连接字符串/域的访问权限配置。
这困扰了我3个星期 - 您能抽出5分钟,以帮助我吗?