6

解决了。请参阅我的答案(但首先请参阅我对问题的第二次编辑)。

我正在尝试从另一台计算机上的一台计算机恢复数据库的备份 - 从而复制数据库,但我收到以下消息:

System.Data.SqlClient.SqlError:操作系统在“c:\Program Files\Microsoft SQL Server...”上尝试“RestoreContainer::ValidateTargetForCreation”时返回错误“5(访问被拒绝。)”。(Microsoft.SqlServer.SmoExtended)

为什么是这样?我可以创建新的数据库,为什么不恢复呢?是因为它来自另一台计算机吗?(我读到这实际上是复制数据库的常用方法,所以这应该是问题。)

我对此没有太多经验,所以不排除任何明显的解释。

编辑 :

我可以使用管理员用户帐户将其“还原”到管理员的SQL Server 实例(我有两个 - 一个用于管理员,一个用于普通帐户。)但不能从一帐户到普通用户的实例SQL Server 的。

编辑 2:

似乎已经存在具有备份文件名的文件(即使我更改了现有数据库的名称)。我现在正在努力(尝试恢复到不同的文件名,但仍然不成功)。

4

4 回答 4

6

解决方案是确保在MSSQL11.MSSQLSERVER文件夹(而不是MSSQL10_50.SQLEXPRESS文件夹)中创建数据库。然后 SSMS 成功地“恢复”了数据库。

于 2013-05-21T19:50:52.853 回答
6

我刚刚收到 SQLSERVER14 的这个错误。我所做的只是检查恢复向导的文件选项卡中的“将所有文件重新定位到文件夹”复选框。

数据库恢复成功。

于 2015-09-02T07:48:17.113 回答
2

面临类似的问题。Windows 安全性阻止将数据库还原到“目标”位置。修复安全设置可以解决此问题。

右键单击目标文件夹-> 属性-> 安全性-> 选择适当的用户,然后编辑权限(我已授予用户完全访问权限)。希望这能解决问题。

于 2015-12-30T05:44:33.297 回答
0

当我收到此错误消息时,我的 .bak 文件位于我的桌面上(例如“C:\Users\[username]\Desktop\database.bak”)。

当我将 .bak 文件移动到我的 C 驱动器时,还原成功。

于 2019-07-09T10:44:02.107 回答