首页 > 原创文章 > 软件开发 > 查看文章

Sql Server还原文件无法为该请求检索数据的解决方法

所属分类:软件开发 来源: 丁老师原创 更新时间:2026-03-11 08:59 浏览: 677 IP属地: 深圳

有同学咨询,在使用Sql Server还原数据库时,提示“无法为该请求检索数据”,这是怎么回事,如何解决呢?如图:

image.png

问题复现
1.使用之前备份的数据库文件恢复数据库(.bak文件)。
2.选择数据库,选择要还原的文件,点击确定进行恢复还原,提示“无法为该请求检索数据”。

故障分析
1.首先可以确定的是,要还原的数据库文件是正常的,是没有问题的,是完整的数据库备份文件。
2.执行命令,查看备份文件里的文件列表。

RESTORE FILELISTONLY  FROM DISK = 'c:\aaa.bak';

image.png
3.我们可以发现,PhysicalName显示,这个备份文件之前的数据库存储位置是:D:\server\data目录。
4.此时问题基本上就已经出现一些端倪了,我们去检查服务器本地是否有这个目录。

故障解决
一、如果不存在目标目录
1.创建由于PhysicalName相同位置的目录。
2.给该目录赋予权限,Users全部可写。
3.重新导入还原。

二、如果已存在这个目录,但还报错。
如果该目录已存在,但还报错,则可以尝试通过命令进行导入,重置该备份文件的数据库位置:

执行还原(修改路径为自己的)
RESTORE DATABASE test
FROM DISK = 'c:\aaa.bak'
WITH REPLACE,
MOVE 'test' TO 'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\DATA\test.mdf',
MOVE 'test_log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\DATA\test.ldf',
RECOVERY;

执行后,恢复成功。

image.png

标签:

相关文章

使用Visual Studio开发C#程序时...

我们都知道Visual Studio的自动完成功能,可以在开发时,自动提示补充语法、参数等信息,可以方便的协助我们来开发程序,但是有同学发现,在使用VS开发C#程序时,编辑器的自动完成功能很不好用,要么是在正常输入代码时,突然出现提示,...

Array and string offse...

有同学咨询,在迁移网站时,出现了错误提示: Array and string offset access syntax with curly braces is no longer supported这是怎么回事呢?该同学的网站是PHP...

做Windows桌面软件用哪种程序语言好?

最近有同学咨询丁老师,公司要做一款设备的管理系统,是要安装在Windows上的桌面客户端软件,这种Windows桌面软件,用什么程序架构开发比较好、比较稳定呢?针对这个问题,丁老师做一下介绍。Windows桌面客户端软件发展已久,自从W...

Python中md5转16进制的方法

在Python中,如果要把md5值,转换为16进制,可以使用hashlib库的hexdigest方法。具体代码为:from hashlib import md5 secret = '123456789' print(md...

推荐文章

CodeIgniter框架URL如果去掉in...

在使用PHP框架CI时,有个很恶心的地方就是他的URL需要带上index.php,比如我要建一个user模块,想要实现www.xxx.com/user/的效果,但是在CI框架下必须要www.xxx.com/index.php/user这样才...

如何删除idea软件搜索时的find mas...

在使用idea系列的配套软件时,如intellij idea、Php Storm、Web Strom时,在搜索文件时,右上角的file mask可以筛选指定类型的文件。但是有时候可能会输入错误,产生多个记录,而且没办法删除,在以后的开发中经...

Uniapp开发小程序内的图片扫码

在使用uniapp开发的小程序内,打开图片,长按没有弹出菜单,无法扫码,此时只需在图片上加入show-menu-by-longpress即可完整代码:<image :src="picture" mode="...

您的nahimic驱动程序似乎已经过期的解决...

打开电脑的Nahimic软件,提示“您的nahimic驱动程序似乎已经过期,无法启动”,然后需要点击链接更新驱动,但点击进去后,也找不到什么驱动。经过研究发现解决办法:1.使用SDI安装,即Snappy Driver Installer 1...