加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 无法打开登录请求的数据库.登录失败.用户登录失败

发布时间:2020-12-16 07:09:18 所属栏目:asp.Net 来源:网络整理
导读:我从一台计算机上复制了一个数据库并在此处使用它.在尝试打开需要从DB获取内容的页面时,在con.open上我收到此异常: Unable to open the physical file “E:Program FilesMicrosoft SQL ServerMSSQL10.SQLEXPRESSMSSQLDATAcakephp.mdf”. Operating sy
我从一台计算机上复制了一个数据库并在此处使用它.在尝试打开需要从DB获取内容的页面时,在con.open上我收到此异常:

Unable to open the physical file “E:Program FilesMicrosoft SQL
ServerMSSQL10.SQLEXPRESSMSSQLDATAcakephp.mdf”. Operating system error 32: “32(The
process cannot access the file because
it is being used by another
process.)”.
Unable to open the physical file “E:Program FilesMicrosoft SQL
ServerMSSQL10.SQLEXPRESSMSSQLDATAcakephp_log.LDF”.
Operating system error 32: “32(The
process cannot access the file because
it is being used by another
process.)”.
Cannot open database “cakephp” requested by the login. The login
failed.
Login failed for user ‘Sarin-PCSarin’.

我从Management Studio Express 2008附加了数据库,我也检查了连接字符串.这里是:

<connectionStrings>
        <add name="cn" connectionString="server=.sqlexpress;database=cakephp;integrated security=true;uid=sarin;pwd=******"/>
    </connectionStrings>

在Visual Studio中,当我测试连接时,它显示“测试连接成功”.但是,有一件奇怪的事情发生了.当我登录Management Studio时,没有新附加数据库的标志,如图所示.

如果需要查看完整的WebConfig,我已将其粘贴到此处:http://pastebin.com/sVAuN0Ug

解决方法

有数据库的用户,但是,也有服务器的用户.一个用户必须具有SqlServer的登录权限才能使用该数据库.

在您的情况下,您复制了数据库及其用户,但这些用户没有新服务器的登录权限.解决方案是在SqlServer上添加一个新的登录帐户(转到SqlServer的Security节点,而不是数据库的Security节点),并将其添加到那里.添加该用户时,也将其分配给数据库,这应该有效.

编辑:进一步阅读您的问题后,是否有可能有两个sql服务器瞄准相同的mdf文件?因为那不行.此外,在复制数据库文件时,您是否在复制之前将它们分离?如果这一切都很好,那么尝试进行备份然后恢复.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读