13

我正在尝试在 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)

我搜索了这个问题的解决方案,找到了一种数据库文件访问权限的解决方案,但是数据库文件已经具有完全控制访问权限。现在我想附加这个数据库或者想得到这个数据库的脚本。但是如何?

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

请帮我。

4

7 回答 7

44

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

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

希望对你有帮助......

于 2013-06-18T03:00:32.617 回答
8

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

于 2012-06-05T17:44:22.743 回答
3

你应该编辑 .mdf 和 .ldf 文件的安全性以完全控制像这张图片 在此处输入图像描述

于 2015-12-14T14:38:52.690 回答
0

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

于 2021-03-03T12:24:52.417 回答
0

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 附说明数据库到SQL %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %

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

  • 登录到 \SQLEXPRESS。

  • 右键单击数据库文件夹并选择“附加”。

  • 在打开的 UI 中选择添加。

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

  • 选择 .mdf 文件。注意:您选择的 .mdf 和 .ldf 文件将被删除,因此请确保您事先制作了这些文件的副本。

  • 单击“附加为”选项卡并键入新的数据库名称。

  • 确保 ldf 和 mdf 文件的“当前文件路径”正确。

  • 单击确定。

于 2016-07-18T12:59:11.750 回答
0

可能是因为

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

尝试以下任何方法。

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

请参阅此处了解更多信息。

于 2021-07-09T12:51:13.517 回答
0

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

尝试附加数据库。

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

于 2016-10-02T06:40:11.320 回答