解决方案

还原Sql Server数据库BAK备份文件的三种方式及常见错误

seo靠我 2023-09-23 19:54:18

第一种方法,使用Sql Server Management Studio还原

这是演示的是Sql Server 2008R2版本,不同版本可能有细微差别

右键点击数据库→还原数据库

在还原的源中选择源设备→SEO靠我点击选择框

 在指定备份中点击添加→选择具体文件→确定→确定

 勾选用于还原的备份集→这时目标数据库中会自动生成目标数据库名,在此选择即可→确定

 即可还原BAK数据库备份文件

 常见错误:

1.指定的转换无效

在选择具SEO靠我体文件的时候,我们可能会产生这个报错,导致这个的原因是BAK文件备份中的版本和高于我们的版本,需要部署更高版本的SqlServer。

2.System.Data.SqlClient.SqlError: SEO靠我尚未备份数据库 "xxx" 的日志尾部

2005版本以上,在还原BAK备份文件时是不需要提前建好数据库的。所以,先选源设备,再在下拉选项中选择数据库即可。

3.3154或3159报错

原因和第二点一致,在选SEO靠我择还原文件和文件组时才会出现这两个报错

第二种方法,使用sql server语句还原

ALTER DATABASE [test] SET OFFLINE WITH ROLLBACK IMMEDIATE  SEO靠我  --断开其他用户与数据库的连接

USE MASTER                                                                         SEO靠我                       --这里注意要使用MASTER,以免出现待还原库被占用的情况

RESTORE DATABASE [test]                        SEO靠我                                                  --为待还原库名

FROM 

DISK = C:\Users\xxx\Desktop\exxx_zy.baSEO靠我k                                                 --备份文件的位置

WITH

MOVE exxx_zy                         SEO靠我                                                                   --数据文件逻辑名字

TO C:\Program Files\MicSEO靠我rosoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\exxx_zy.mdf,           --指定数据文件路径

MOVE exxx_zy_LOSEO靠我G                                                                                  --日志文件逻辑名字

TO C:\PSEO靠我rogram Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\exxx_zy.ldf,             --指定日志文SEO靠我件路径

STATS = 10, REPLACE

GO

ALTER database [test] set online                                            SEO靠我                       --重新上线数据库

 常见错误:

1.逻辑文件 xxx 不是数据库 test 的一部分。

文件名不一定是实际的逻辑名,这个时候我们需要获取文件的逻辑名替换后再执行SEO靠我语句。此时执行RESTORE FILELISTONLY FROM DISK =C:\Users\xxx\Desktop\xxx.bak获取数据文件和日志文件的LogicalName。

2.设备xxx.bSEO靠我ak上的介质簇的结构不正确。

出现这个错误代表bak文件版本高于目前Sql Server版本,需要升级

第三种方法,使用Navicat还原

这里演示的Navicat版本是16,部分版本可能不太相同

使用NavSEO靠我icat恢复BAK备份文件依旧需要有Sql Server,连接步骤这里省略。

选择SqlServer任意数据库→SQL Server备份→空白处鼠标右键→选择从文件还原

选择需要还原到的数据库→添加设备→SEO靠我选择备份文件→确定

 勾选还原计划

选择高级→勾选WITH REPLACE→选择数据文件和日志文件存放位置(这里不选择会默认放置在之前服务器/电脑的地址)→生成SQL

点击还原

稍等片刻就还原啦

常见错误:

1.需SEO靠我要密码

其实当BAK文件版本高于当前SqlServer版本的时候,也会产生这个提示,这是因为SqlManagerUI的报错被Navicat理解成了需要密码。所以当使用Navicat还原BAK文件的时候可SEO靠我以和对方确认一下版本信息,避免造成误解。

“SEO靠我”的新闻页面文章、图片、音频、视频等稿件均为自媒体人、第三方机构发布或转载。如稿件涉及版权等问题,请与 我们联系删除或处理,客服邮箱:html5sh@163.com,稿件内容仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同 其观点或证实其内容的真实性。

网站备案号:浙ICP备17034767号-2