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语句
1 RESTORE HEADERONLY FROM DISK = N\'D:\SQLSERVER_DATA\备份文件\XXXX.bak\'