恢复SQL备份失败 - 访问被拒绝

时间:2013-05-21 18:06:10

标签: sql-server sql-server-2012 ssms

解决。看到我的回答(但首先看到我对问题的第二次编辑)。

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

  

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

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

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

编辑:

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

编辑2:

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

4 个答案:

答案 0 :(得分:6)

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

答案 1 :(得分:6)

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

数据库已成功恢复。

答案 2 :(得分:1)

面对类似的问题。 Windows安全程序阻止将数据库还原到“目标”#39;地点。修复安全设置可以解决此问题。

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

答案 3 :(得分:0)

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

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