通过bak文件还原SqlServer数据库时出现错误:System.Data.SqlClient.SqlError: 在对 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Cloud.mdf' 尝试 'RestoreContainer::ValidateTargetForCreation' 时,操作系统返回了错误 '5(拒绝访问)'

网络上给出的主要解决办法是手动创建文件夹或修改文件夹权限(参考SQL数据库还原时错误:操作系统返回了错误 \'5(拒绝访问)\'的解决办法 -黑马王子-ChinaUnix博客)

但是,笔者修改了文件夹权限后依然失败。创建新文件夹没有尝试,因为本人强迫症想把数据库放到SqlServer在用的文件夹下面去。

仔细查看了数据库还原的设置,发现这个备份文件是在MSSQLSERVER服务中备份的,它默认的备份还原地址也在MSSQLSERVER文件夹下的MSSQL/DATA文件夹下。

但是,笔者本地数据库使用的是免费版,可用的服务是SQLEXPRESS,所以只对SQLEXPRESS文件夹下的MSSQL/DATA拥有权限。

 

将还原路径更改到SQLEXPRESS下面后,还原成功,特此记录。

更多推荐

SqlServer数据库还原出错:操作系统返回了错误 ‘5(拒绝访问)‘