备份和恢复数据库 - 发生系统错误 5

Tho*_*mas 2 sql-server sql-server-2008-r2

在我的工作中,我备份了数据库并收到了 .bak 文件。现在我想在我的机器上恢复这个数据库。但我收到以下错误:

无法打开备份设备“C:\Program Files...\MSSQL10_50.SQLEXPRESS...\file.bak”。
操作系统错误 5(无法检索此错误的文本。原因:15105)。
RESTORE HEADERONLY 异常终止。(Microsoft SQL Server,错误:3201)

当然我上网查了一下,例如:http : //social.msdn.microsoft.com/Forums/sqlserver/en-US/805661f1-cf23-4230-ae31-d9cc16505359/cant-restore-backup-from-2005- to-2008r2?forum=sqlexpress

但是所有用户都拥有所有文件夹的权限,所以我真的很困惑。问题是什么?

Aar*_*and 8

听起来像是权限错误被掩盖了。您必须记住,需要访问备份所在文件夹(以及还原备份的位置,如果WITH MOVE明确使用)的用户是 SQL Server 服务帐户,而不是普通用户。

如果错误消息中列出的文件夹不代表您尝试还原的同一个实例,则该服务不太可能访问该文件夹。尝试将 .bak 文件移动到当前实例的数据或日志文件夹,其中 SQL Server 肯定有足够的权限。

  • 是的,这绝对是权限,操作系统错误 5 是访问被拒绝,这些错误代码的有用链接:http://msdn.microsoft.com/en-us/library/windows/desktop/ms681382(v=vs.85)。 aspx (2认同)