首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法还原数据库无法识别.bak文件

无法还原数据库无法识别.bak文件
EN

Stack Overflow用户
提问于 2019-10-21 17:21:10
回答 1查看 5.6K关注 0票数 1

我正在尝试从类中恢复DB。但是,当我试图恢复.bak文件时,似乎SSMS无法识别它。

我给包含.bak文件的文件夹赋予了完全权限(它是ms的默认备份文件夹)。

我为恢复.bak文件所采取的步骤:

右键单击DB ->还原DB ->从设备(选择.bak文件位置)到数据库(选择DB目标)

如此处所示: C:\Program (x86)\Microsoft \MSSQL10.SQLEXPRESS\MSSQL\Backup

数据库没有损坏,我检查了另外两个数据库,结果相同,所以我不知道问题出在哪里

这里的图片:

我看不到数据库,而且我几乎有最新版本的MS,所以我无法理解这里发生了什么,以及为什么我不能恢复DBs。

我在这里查过了:在ssms 2017中恢复数据库,选择了设备选项中的bak文件,备份集中没有显示任何用于恢复选项和禁用Ok按钮的内容

在这里:无法识别.bak文件

https://www.youtube.com/watch?v=U0FpXwQfBaU

它应该很简单,就像上面的视频一样,但是就像我上面说的,这里有些地方不对劲,我不知道它是什么。我的SQL版本的映像

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-22 05:23:58

一旦您(我指的是服务帐户)获得了文件夹的完整权限,您就应该能够在没有损坏的情况下恢复.bak文件,而不会出现任何问题,但是有时GUI中会出现故障,并且可以很好地处理命令行。不确定该问题是否存在于修正SSMS发行说明之一

但是,您可能希望尝试如下:

  1. 验证备份文件-它完成备份文件的验证,并检测备份文件中的任何错误/损坏。
代码语言:javascript
复制
RESTORE VERIFYONLY FROM DISK = 'C:\YourbackupLocation\DbName.bak';
  1. 读取头-它返回备份文件的信息,即DB版本、附加备份文件、LSN信息和数据库恢复模型等。
代码语言:javascript
复制
RESTORE HEADERONLY FROM DISK = 'C:\YourbackupLocation\DbName.bak';
  1. 从备份中获取文件名列表--如果文件位置与创建备份的源服务器不同,这将很有帮助。
代码语言:javascript
复制
RESTORE FILELISTONLY FROM DISK = 'C:\YourbackupLocation\DbName.bak' ;
  1. 通过T还原备份-实际还原
代码语言:javascript
复制
RESTORE Backup DBName FROM DISK = 'C:\YourbackupLocation\DbName.bak' with replace, recovery, stats;

重新定位文件

代码语言:javascript
复制
RESTORE Backup DBName FROM DISK = 'C:\YourbackupLocation\DbName.bak' 
with replace, recovery, stats
--- Get the logical name from the result of "RESTORE FILELISTONLY" command
move 'DBName' to 'C:\NewLocation\DBName.mdf',
move 'DBName_Log' to 'C:\NewLocation\DBName_log.ldf' ;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58491289

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档