我在一台服务器上建立了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

解决方案 »

  1.   

    涉及到两个数据库文件的操作时,总会出现“由于文件不可访问,或者内存或磁盘空间不足,所以无法打开数据库”,可我给network service和IIS匿名用户都加修改权限了,还是不行。
    比如更改“NT AUTHORITY\SYSTEM”用户默认数据库的时候就会出现这类问题。不知道为什么我这里是“NT AUTHORITY\SYSTEM”,而不是“NT AUTHORITY\NETWORK SERVICE”。
      

  2.   

    没看完为什么不用aspnet_regsql.exe重建不同名称的数据库?
      

  3.   

    刚好之前有碰到过类似的问题,解决方法给你参考一下用户 'NT AUTHORITY\NETWORK SERVICE' 登录失败。 
    第一步:把'NT AUTHORITY\NETWORK SERVICE' 添加到Administrator组中 
    我的电脑-->右键-->管理-->本地用户和组 
    选择“组”-->双击Administrators-->单击“添加”-->单击“高级”-->单击“立即查找”-->在下面的列表中选择Network Service用户-->两次单击“确定”-->加入。 第二步 在企业管理器中加入NetWord Service用户 
    打开Sql Server企业管理器-->选择数据库实例-->打开“安全性”节点-->选择“登录”-->在右边的列表中单击右键-->选择“新建登录”-->在“常规”选项卡中单击“名称”旁边的按钮“...”-->选择“Administrators”组-->单击下面的“成员”按钮-->选择“Network Service”-->单击“添加”按钮-->单击“确定”,返回“新建登录”对话框-->保证身份验证类型为“windows验证”和“允许访问”-->服务器角色-->钩选“System Administrators”-->单击“确定”-->关闭“企业管理器” 
      

  4.   

    楼上的,这些我也搜索到了,不管用。现在两个网站都能正常显示数据了,但涉及到membership方面的表,只要一访问就显示:“用户 'NT AUTHORITY\SYSTEM' 登录失败。”另一个网站显示:无法打开用户默认数据库。登录失败。
    用户 'NT AUTHORITY\NETWORK SERVICE' 登录失败。
    文件激活失败。物理文件名称'E:\htdocs\xxxxx.net\App_Data\aspnetdb_log.ldf'可能不正确。 可第二个网站的数据库文件名根本不是aspnetdb。显示其他数据到挺正常的。