无法打开用户默认数据库。登录失败。

DCD 2008-08-05 12:25:52
我在一台服务器上建立了2个asp.net站点,都用到了membership,默认都是aspnetdb.mdb文件名,出了好多乱子,弄得我也不知道该怎么办好,有没有哪个前辈也像我这样在一台服务器上建立了多个asp.net站点,都用到了membership的?

有些问题,不同站点的:
——————————————————————
无法打开用户默认数据库。登录失败。
用户 'NT AUTHORITY\NETWORK SERVICE' 登录失败。
文件激活失败。物理文件名称'E:\htdocs\xxxxxxx.net\App_Data\aspnetdb_log.ldf'可能不正确。

这个站点的aspnetdb.mdb文件已经改过文件名,普通读取数据时挺正常,只要涉及到membership方面就出这个错误。
web.config里面也改了设置
<add name="Database" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename='E:\htdocs\xxxxxxx.net\App_Data\epopclass.MDF';Integrated Security=True;User Instance=True"/>
<add name="AspNetSqlMembershipProvider" connectionStringName="Database" ……
——————————————————————
由于启动用户实例的进程时出错,导致无法生成 SQL Server 的用户实例。该连接将关闭。

这个站点使用的是aspnetdb.mdb文件,一开始站点和后台都有这个错误,看到网上说改“User Instance=False”,站点可以了,可下面admin文件夹里登陆时还有这个错误,而且登陆的用户名和密码是写在根目录的web.config里的。
从站点登陆,由于用了membership,登陆时也有这个错误。但读取普通数据没问题。

————————————————
数据库设置:
SQL Server (SQLEXPRESS) 登陆身份为 NT AUTHORITY\NetworkService
SQL Server Browser 登陆身份为 LocalSystem
...全文
1749 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
怫悰 2008-08-05
  • 打赏
  • 举报
回复
没看完

为什么不用aspnet_regsql.exe重建不同名称的数据库?
DCD 2008-08-05
  • 打赏
  • 举报
回复
涉及到两个数据库文件的操作时,总会出现“由于文件不可访问,或者内存或磁盘空间不足,所以无法打开数据库”,可我给network service和IIS匿名用户都加修改权限了,还是不行。
比如更改“NT AUTHORITY\SYSTEM”用户默认数据库的时候就会出现这类问题。不知道为什么我这里是“NT AUTHORITY\SYSTEM”,而不是“NT AUTHORITY\NETWORK SERVICE”。
怫悰 2008-08-05
  • 打赏
  • 举报
回复
什么版本数据库?什么版本操作系统?
DCD 2008-08-05
  • 打赏
  • 举报
回复
楼上的,这些我也搜索到了,不管用。

现在两个网站都能正常显示数据了,但涉及到membership方面的表,只要一访问就显示:

“用户 'NT AUTHORITY\SYSTEM' 登录失败。”

另一个网站显示:

无法打开用户默认数据库。登录失败。
用户 'NT AUTHORITY\NETWORK SERVICE' 登录失败。
文件激活失败。物理文件名称'E:\htdocs\xxxxx.net\App_Data\aspnetdb_log.ldf'可能不正确。

可第二个网站的数据库文件名根本不是aspnetdb。显示其他数据到挺正常的。
jiang_jiajia10 2008-08-05
  • 打赏
  • 举报
回复
楼上正解
qingleo 2008-08-05
  • 打赏
  • 举报
回复
刚好之前有碰到过类似的问题,解决方法给你参考一下

用户 'NT AUTHORITY\NETWORK SERVICE' 登录失败。
第一步:把'NT AUTHORITY\NETWORK SERVICE' 添加到Administrator组中
我的电脑-->右键-->管理-->本地用户和组
选择“组”-->双击Administrators-->单击“添加”-->单击“高级”-->单击“立即查找”-->在下面的列表中选择Network Service用户-->两次单击“确定”-->加入。

第二步 在企业管理器中加入NetWord Service用户
打开Sql Server企业管理器-->选择数据库实例-->打开“安全性”节点-->选择“登录”-->在右边的列表中单击右键-->选择“新建登录”-->在“常规”选项卡中单击“名称”旁边的按钮“...”-->选择“Administrators”组-->单击下面的“成员”按钮-->选择“Network Service”-->单击“添加”按钮-->单击“确定”,返回“新建登录”对话框-->保证身份验证类型为“windows验证”和“允许访问”-->服务器角色-->钩选“System Administrators”-->单击“确定”-->关闭“企业管理器”

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧