T-SQL 数据库恢复错误
Posted
技术标签:
【中文标题】T-SQL 数据库恢复错误【英文标题】:T-SQL Database Restoration Error 【发布时间】:2018-03-29 09:20:33 【问题描述】:在 SQL2008R2 中恢复备份数据时出现以下错误
消息 3201,第 16 级,状态 2,第 1 行 无法打开备份设备“C:\Program Files (x86)\Microsoft SQL Server\MSSQL12.SQL2014\MSSQL\Backup\123.bak”。操作系统错误2(系统找不到指定的文件。)。 消息 3013,第 16 级,状态 1,第 1 行 RESTORE DATABASE 异常终止。
我已经尝试过下面提到的从谷歌和其他网站得到的建议。
-
登录用户的用户权限(赋予硬盘驱动器上sql登录用户的管理员权限)
检查数据库路径
按照 Microsoft 网站的建议更新了补丁。
在其他系统上安装 SQL2014 并尝试相同的操作,但仍然出现相同的错误。
5.检查我已备份的数据库。
从图形模式恢复这个备份文件,它恢复成功,没有任何错误。
请帮助我,我必须编写一个 C# 程序,用于在 SQL 中恢复备份数据库。
【问题讨论】:
"系统找不到指定的文件。"您实际上在 C:\Program Files (x86)\Microsoft SQL Server\MSSQL12.SQL2014\MSSQL\Backup\ 中有一个名为123.bak
的文件吗?
C:\Program Files (x86)\Microsoft SQL Server\MSSQL12.SQL2014\MSSQL\Backup\123.bak 此路径错误,请提供正确路径
该路径意味着您要恢复的数据库来自 SQL Server 2014。您无法从新版本恢复备份(因此您无法在 2008R2 实例上恢复 2014 数据库) .但是,这不是您的错误的原因,这可能是该文件不存在。但是,我不建议在您的 PC 上授予 SQL 服务帐户管理权限。
非常清楚 - 服务器执行还原,因此路径需要正确从服务器的角度来看。许多人认为他们可以从客户端工具(例如 SSMS 或 SQLCMD)的角度给出路径,但没有意识到只有在服务器和客户端在同一台机器上时才会这样做。
打开命令提示符并输入dir
,然后粘贴备份文件的全名,包括路径。如果它存在 - 并且您可以访问它 - 您将在 dir
输出中看到它的属性。如果其中一个为 false,则会出现错误。
【参考方案1】:
尝试将备份文件 (*.bak) 移至您的备份文件夹。 我的备份位置:
C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\Backup
然后尝试恢复数据库。 希望这可以帮助。 谢谢
【讨论】:
以上是关于T-SQL 数据库恢复错误的主要内容,如果未能解决你的问题,请参考以下文章
如何调用远程 T-SQL 过程将远程 .bak 数据库文件恢复到远程 SQL Server 实例?
firebird 数据库恢复 firebird数据库修复 interbase数据库恢复 firebird blob错误恢复