我在本地机器上创建了一个数据库,然后对表DataLabTables进行了名为tables.bak的备份。

我将备份移动到远程机器,没有该表,并尝试进行恢复,但得到以下错误:

sqlclient . sqlerror:操作系统返回 尝试访问时错误'5(访问被拒绝。)' 'RestoreContainer::ValidateTargetForCreation'在c:\程序 文件\Microsoft SQL Server\MSSQL.1\MSSQL\DataLabTables.mdf `。

如果这是问题所在,我该如何修正我的权利?


当前回答

我有这个问题,我以管理员身份登录,它解决了这个问题。

其他回答

备份创建者安装了MSSql版本10,因此当他进行备份时,它还存储了原始文件路径(以便能够在相同的位置恢复它),但我使用的是版本11,因此它无法找到目标目录。 所以我把输出文件的目录改为C:\Program Files\Microsoft SQL Server\MSSQL11。MSSQLSERVER\MSSQL\DATA\,它能够成功地恢复数据库。

然后尝试将其移动到C:下的子文件夹,但要验证用户对您使用的文件夹具有完全权限。

这可能不是最好的解决方案,但我试图在SQL Server 2005做恢复,但我改为SQL Server 2008,它工作。

我也有同样的问题。原来我的SQL Server和SQL Server代理服务登录时在网络服务帐户下运行,该帐户没有执行备份恢复的写访问权。

我将这两个服务都更改为以本地系统帐户登录,这就解决了问题。

在我的情况下,我必须仔细检查我正在恢复的数据库的备份路径。当我第一次做的时候,我已经从不同的路径恢复了它。我修复了备份路径,以使用我第一次使用的备份路径,它工作!