我在一台服务器上建立了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
——————————————————————
无法打开用户默认数据库。登录失败。
用户 '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
比如更改“NT AUTHORITY\SYSTEM”用户默认数据库的时候就会出现这类问题。不知道为什么我这里是“NT AUTHORITY\SYSTEM”,而不是“NT AUTHORITY\NETWORK SERVICE”。
第一步:把'NT AUTHORITY\NETWORK SERVICE' 添加到Administrator组中
我的电脑-->右键-->管理-->本地用户和组
选择“组”-->双击Administrators-->单击“添加”-->单击“高级”-->单击“立即查找”-->在下面的列表中选择Network Service用户-->两次单击“确定”-->加入。 第二步 在企业管理器中加入NetWord Service用户
打开Sql Server企业管理器-->选择数据库实例-->打开“安全性”节点-->选择“登录”-->在右边的列表中单击右键-->选择“新建登录”-->在“常规”选项卡中单击“名称”旁边的按钮“...”-->选择“Administrators”组-->单击下面的“成员”按钮-->选择“Network Service”-->单击“添加”按钮-->单击“确定”,返回“新建登录”对话框-->保证身份验证类型为“windows验证”和“允许访问”-->服务器角色-->钩选“System Administrators”-->单击“确定”-->关闭“企业管理器”
用户 'NT AUTHORITY\NETWORK SERVICE' 登录失败。
文件激活失败。物理文件名称'E:\htdocs\xxxxx.net\App_Data\aspnetdb_log.ldf'可能不正确。 可第二个网站的数据库文件名根本不是aspnetdb。显示其他数据到挺正常的。