服务器附加数据库失败

时间:2012-06-05 17:38:22

标签: sql-server-2008

我正在尝试在SQL Server 2008中附加数据库,我有.mdf数据库文件,但我得到了一个例外

  

为服务器'Bilal-PC'附加数据库失败。 (Microsoft.SqlServer.Smo)

     

无法打开物理文件“E:\ Intelliscence \ Backups \ test(2011-07-19)\ Database \ QBankDB.mdf”。操作系统错误5:“5(访问被拒绝。)”。 (Microsoft SQL Server,错误:5120)

我搜索了这个问题的解决方案,发现了一个数据库文件访问权限的解决方案,但数据库文件已经具有完全的控制访问权限。现在我想附加此数据库或想要获取此数据库的脚本。但是怎么样?

我知道这是一个重复的问题,但答案中给出的所有解决方案都不适合我,这就是我发布此问题的原因。

请帮帮我。

7 个答案:

答案 0 :(得分:33)

尝试以管理员身份运行Management Studio并附加数据库。

右键单击Management Studio Properties并以管理员身份运行。

希望它可以帮助你......

答案 1 :(得分:7)

错误消息似乎非常简单:访问被拒绝。您需要确保SQL Server服务帐户对E:\ Intelliscence \ Backups \ QBank(2011-07-19)\ Database \具有足够的权限,或者移动实例的数据/日志文件夹的MDF / LDF文件(这应该不是问题。)

答案 2 :(得分:3)

你应该编辑.mdf&的安全性。 .ldf文件完全控制像这张照片 enter image description here

答案 3 :(得分:0)

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 将数据库附加到SQL的说明 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

  • 运行" SQL server 2014管理工作室"。

  • 登录\ SQLEXPRESS。

  • 右键单击Databases文件夹并选择" Attach"。

  • 在打开的界面中选择添加。

  • 浏览到.mdf和.ldf文件所在的文件夹。

  • 选择.mdf文件。 注意:您选择的.mdf和.ldf文件将被删除, 所以请务必事先复制这些文件。

  • 点击"附加为"选项卡并键入新数据库名称。

  • 确保"当前文件路径"对于ldf和mdf文件是正确的。

  • 点击确定。

答案 4 :(得分:0)

以管理员身份运行Management Studio,并使用Windows身份验证连接服务器。

尝试附加数据库。

我已经完成了这个......

答案 5 :(得分:0)

我认为这与许可无关,我完全不知道整个场景,但是例如,如果您尝试将一个 mdf 从 SQL Server 2008 附加到 SQL Server 14 或其他东西,只需复制C:\Program Files (x86)\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA 中的 MDF 和 LDF 文件并将它们放在 C:\Program Files\Microsoft SQL Server\MSSQL14.SQLEXPRESS\MSSQL\DATA 中,然后尝试使用常规的附加方法,你应该没问题

答案 6 :(得分:0)

可能是因为

  • SQL 数据文件的默认位置已更改
  • SQL Server 在分离数据库时重置文件权限

尝试以下任一方法。

  • Administrator 身份运行 SQL Server Management Studio。 (右键单击 -> run as administrator)。
  • 我使用的帐户拥有对 mdf 和 ldf 文件的完全控制 NTFS 权限。但是,它通过组成员身份获得了这些权限(本地管理员组具有权限,我的帐户是本地管理员的成员)。因此,请为 *.mdf / *.ldf 文件提供完全访问权限。

有关详细信息,请参阅 here