尝试连接字符串
connectionString="Server=.\SQLEXPRESS;
AttachDbFilename=E:\Database\dnn49.mdf;Database=dnn49;
Trusted_Connection=Yes;"
但我收到错误
无法打开物理文件 “E:\数据库\ dnn49.mdf”。 操作系统错误5:“5(访问权限为 拒绝。)“。无法附加文件 'E:\数据库\ dnn49.mdf' 作为数据库'dnn49'。
是什么给出了?
答案 0 :(得分:8)
如果您从SQL Server Management Studio附加,它也可以作为管理员运行SSMS。然后,这可以利用Administrators组完全控制文件的事实。另一个更罕见的情况是,您将收到此拒绝访问错误,因为数据库已附加。除非您有多个SQL Server实例正在运行并且您已经将它连接到另一个实例,否则这可能更为明显。
答案 1 :(得分:4)
您必须检查SQL Server服务帐户对物理文件“dnn49.mdf”的修改权限,并修改包含该文件的文件夹的权限。
答案 2 :(得分:3)
我不能说你们是否有人为这个问题找到解决方案,但我在这里建议一个简单的...
将mdf和ldf文件复制到SQLServer安装目录,您可以将其放在目录的备份文件夹中。 然后尝试一下
我多次使用过它......
祝你好运
答案 3 :(得分:0)
如果在授予网络服务(或其他服务帐户)修改权限后仍无法附加数据库,还可以将自己的用户ID(附加的用户ID)添加到具有修改权限的文件夹中(即使成员管理员和管理员对文件夹具有完全控制权限。显然,这是Windows 7中的一个错误。
成功附加数据库后,您可以从文件夹中删除用户ID。
答案 4 :(得分:0)
另一个建议是关闭UAC(您可以暂时关闭它以验证它是否是权限问题)。