sqlserver不同版本之间数据库的还原方法
一、相同版本之间还原
1.在一台数据库上备份bak文件直接还原到另外一台数据库上
2.如果上述出现问题,先新建一个数据库,然后则执行如下代码还原(修改红色部分为bak文件在PC上的位置):
restore database htzjpic from disk='E:\htzjpic.bak'with RECOVERY,REPLACE, CONTINUE_AFTER_ERROR,
move 'htzjpic' to 'E:\Program Files (x86)\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\htzjpic.mdf',
move 'htzjpic_log' to 'E:\Program Files (x86)\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\htzjpic_log.ldf'
二、低版本还原到高版本
直接将低版本的数据库bak文件还原到高版本的数据库中
三、高版本还原到低版本
首先,右击高版本的数据库生成脚本,点击高级将版本号选择对应的低版本,并点击编写的数据类型选择为:架构和数据,最后点确定等待生成脚本文件。
然后,将脚本文件拷贝到低版本数据库的电脑,打开该脚本文件,先新建同名的数据库再F5执行。
参考:https://blog.csdn.net/weixin_34177064/article/details/94721817
凡是出现:介质簇的结构不正确的错误,就表示高版本的bak在向低版本的数据库操作
PS:从备份文件bak中识别SQL Server版本的sql语句
RESTORE HEADERONLY FROM DISK = N'D:\SQLSERVER_DATA\备份文件\XXXX.bak'