Cip*_*her 5 sql-server asp.net
我从一台计算机上复制了一个数据库并在此处使用它.在尝试打开需要从DB获取内容的页面时,在con.open上我收到此异常:
无法打开物理文件"E:\ Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA\cakephp.mdf".操作系统错误32:"32(进程无法访问该文件,因为它正由另一个进程使用.").无法打开物理文件"E:\ Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA\cakephp_log.LDF".操作系统错误32:"32(进程无法访问该文件,因为它正由另一个进程使用.").无法打开登录请求的数据库"cakephp".登录失败.用户'Sarin-PC\Sarin'登录失败.
我从Management Studio Express 2008附加了数据库,我也检查了连接字符串.这里是:
<connectionStrings>
<add name="cn" connectionString="server=.\sqlexpress;database=cakephp;integrated security=true;uid=sarin;pwd=******"/>
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)
在Visual Studio中,当我测试连接时,它显示"测试连接成功".但是,有一件奇怪的事情发生了.当我登录Management Studio时,新添加的数据库没有+号,如图所示.

如果需要查看完整的WebConfig,我已将其粘贴到此处:http://pastebin.com/sVAuN0Ug
有数据库的用户,但是,也有服务器的用户.一个用户必须具有SqlServer的登录权限才能使用该数据库.
在您的情况下,您复制了数据库及其用户,但这些用户没有新服务器的登录权限.解决方案是在SqlServer上添加一个新的登录帐户(转到SqlServer的Security节点,而不是数据库的Security节点),并将其添加到那里.添加该用户时,也将其分配给数据库,这应该有效.
编辑:进一步阅读您的问题后,是否有可能有两个sql服务器瞄准相同的mdf文件?因为那不行.此外,在复制数据库文件时,您是否在复制之前将它们分离?如果这一切都很好,那么尝试进行备份然后恢复.
| 归档时间: |
|
| 查看次数: |
17181 次 |
| 最近记录: |