无法打开登录所请求的数据库 "xxxx"。登录失败。 用户 'NT AUTHORITY\SYSTEM' 登录失败。
用户 'IIS APPPOOL\DefaultAppPool' 登录失败。
情景
我在windows8中安装了iis 之后添加了我做的网站 打开之后提示用户 'IIS APPPOOL\DefaultAppPool' 登录失败。
我再vs2010中能正常运行
最佳答案 这是设置iis应用程序池的设置问题。 我就遇到了这样的问题。比如我的网站取名myweb,就会默认给你建立一个myweb应用程序池
解决方案:
方案一:
右键myweb应用程序池,高级设置,进程模型
问题的原因就是因为你的iis应用程序池的用户验证模式和sqlserver的验证模式不同。
记得你安装sqlserver时选了哪个模式吗?我的是LocalSystem(如果忘记了就一个个试)
好,接下来解决这个问题。
如果不能解决,接着做另一个解决方案
方案二:
在数据库中给对应角色添加映射
数据库->安全性>用户>右击(新建用户)>登录名(选择'NT AUTHORITY/SYSTEM' )>然后选择对应的角色成员(注意权限)
这里如果不清楚权限的划分的话,可以参考一下sa或者admin的权限
注意一点是:要在 “数据库”>“登录名”下先给用户添加用户映射
用户名上右击>属性>用户映射>把右侧数据库目标数据库勾上
拒绝了对对象 'base_config' (数据库 '****',架构 'dbo')的 SELECT 权限
这里引申出另一个问题
笔者在做完上述步骤之后,又报了一个错误
分析其原因,这里发现是因为当前用户不具有对目标数据的操作权限导致的
解决方案:
找到目标数据库 安全性->架构->dbo->右键属性【权限】->搜索->浏览【public】->具有授权
这里我给了一个public权限跟db_owner权限
问题解决