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

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

所属分类:软件开发 来源: 丁老师原创 更新时间:2026-03-11 08:59 浏览: 1802 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

标签:

相关文章

Mysql导入文件,source命令/php...

用phpmyadmin导入大数据库文件时,容易502 bad gateway,可以直接在linux上用mysql原生命令导入。1.上传sql文件到目录用Xshell登录服务器,将迁移过来的 sql 文件移到 home 目录下,方便下一...

Thinkphp的的代码为什么改了没效果?删...

有一个使用ThinkPHP框架开发程序的同学,遇到了这样一个问题,程序的代码明明已经改了,但在执行时还是按照以前的代码逻辑执行的,新修改的没有起到效果,并且他为了测试程序,都已经把这个程序文件删除了,但程序还是能执行,不得已求助于丁老师...

Linux下gz文件看的到删不了的解决办法

linux下生成的gz文件,有些看的到,删除不了,一删除就提示No such file or directory,怎么办呢?不说废话,直接上解决办法:查看这个文件的 inode号#ls -lhi .根据inode号删除# find . ...

Python常用命令

切换源为国内pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/国内常用源清华大学: https://pypi.tuna.tsinghua.edu...

推荐文章

PhpStorm怎么取消html文件中sty...

phpstorm程序中,在打开html时总会出现对 style属性的折叠和隐藏,这样在检查代码的时候非常不直观,容易漏掉很多东西,非常的不方便,如图:

Uniapp开发微信小程序时,微信开发者工具...

在使用uniapp开发微信小程序,微信开发者工具调试时,明明已经给了获取位置权限,但还是提示需要打开gps获取位置,具体解决办法如下:打开uniapp的manifest.json文件,切换到源码模式,找到mp-weixin节点"p...

BT宝塔升级方法

由老版本7.2自动升级时,会出现很多问题,建议在终端手动升级。升级命令:curl http://download.bt.cn/install/update_panel.sh|bash

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

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