You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

无法为SQL Server Management Studio 17配置AdventureWorks,备份恢复报错求助

解决SSMS 17还原AdventureWorks时提示“No backup selected to be restored”的问题

我之前也碰到过这个一模一样的糟心问题!别慌,咱们从最常见的原因开始排查,一步步解决:

1. 最容易忽略的细节:没勾选备份集

很多人在SSMS还原界面添加完.bak文件后就直接点确定,但其实必须在“选择用于还原的备份集”列表里勾选对应的条目

  • 打开“还原数据库”窗口,点击“设备”后的「...」按钮,添加你的AdventureWorks.bak文件;
  • 返回窗口后,往下滚动找到“选择用于还原的备份集”区域,确保里面的备份集选项处于勾选状态(默认可能未勾选,这正是报错的核心原因)。

2. 验证备份文件是否完好

如果勾选后仍报错,先确认备份文件没有损坏。可以用T-SQL命令快速验证:

RESTORE HEADERONLY FROM DISK = 'C:\你的备份文件路径\AdventureWorks.bak'
  • 若执行成功,会返回备份集的详细信息,说明文件没问题;
  • 若命令报错,大概率是备份文件损坏,重新下载官方的AdventureWorks备份包即可。

3. 检查文件访问权限

SQL Server服务账号可能没有读取你存放备份文件的目录权限:

  • 最简单的办法是把备份文件移到SQL Server默认备份目录(比如C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\Backup,MSSQL14对应SQL Server 2017,根据你的实例版本调整);
  • 或者右键备份文件→「属性」→「安全」,给SQL Server服务账号(一般是NT SERVICE\MSSQLSERVER)添加「读取」权限。

4. 避开图形界面,用T-SQL直接还原

如果以上方法都无效,试试用命令行还原,绕开SSMS图形界面的潜在bug:

RESTORE DATABASE AdventureWorks
FROM DISK = 'C:\你的备份文件路径\AdventureWorks.bak'
WITH REPLACE, -- 覆盖已存在的同名数据库(如果有)
MOVE 'AdventureWorks_Data' TO 'C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\DATA\AdventureWorks.mdf',
MOVE 'AdventureWorks_Log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\DATA\AdventureWorks.ldf';

注意替换命令中的文件路径,确保目标目录存在且SQL Server有写入权限。

内容的提问来源于stack exchange,提问作者Abhijit

火山引擎 最新活动