无法打开登录所请求的数据库 "xxxx"。登录失败。 用户 'NT AUTHORITY\SYSTEM' 登录失败。

用户 'IIS APPPOOL\DefaultAppPool' 登录失败。

情景

我在windows8中安装了iis 之后添加了我做的网站 打开之后提示用户 'IIS APPPOOL\DefaultAppPool' 登录失败。

我再vs2010中能正常运行
最佳答案 这是设置iis应用程序池的设置问题。 我就遇到了这样的问题。

比如我的网站取名myweb,就会默认给你建立一个myweb应用程序池

解决方案:

方案一:

右键myweb应用程序池,高级设置,进程模型

问题的原因就是因为你的iis应用程序池的用户验证模式和sqlserver的验证模式不同。

记得你安装sqlserver时选了哪个模式吗?我的是LocalSystem(如果忘记了就一个个试)

好,接下来解决这个问题。

image

如果不能解决,接着做另一个解决方案

方案二:

数据库中给对应角色添加映射

数据库->安全性>用户>右击(新建用户)>登录名(选择'NT AUTHORITY/SYSTEM' )>然后选择对应的角色成员(注意权限)

这里如果不清楚权限的划分的话,可以参考一下sa或者admin的权限

注意一点是:要在 “数据库”>“登录名”下先给用户添加用户映射

用户名上右击>属性>用户映射>把右侧数据库目标数据库勾上

拒绝了对对象 'base_config' (数据库 '****',架构 'dbo')的 SELECT 权限

这里引申出另一个问题

笔者在做完上述步骤之后,又报了一个错误

image

分析其原因,这里发现是因为当前用户不具有对目标数据的操作权限导致的

解决方案:

找到目标数据库 安全性->架构->dbo->右键属性【权限】->搜索->浏览【public】->具有授权

这里我给了一个public权限跟db_owner权限

问题解决

Last modification:May 5, 2022
如果觉得我的文章对你有用,请随意赞赏