适用场景:高版本数据库数据转移到低版本。由于sqlserver向下兼容性,但不向上兼容,所以高版本数据无法利用bak恢复,也不能附加。只能通过sql方式导入,以下介绍两种方式。
因数据库低版本很多停止了更新,强烈建议按照下面方式导入高版本中,导入完成,再进行备份,就可以获得高版本数据库bak,以后可以在高版本中直接bak恢复.
低版本恢复到高版本是兼容的,一般采用bak文件恢复,或者用mdf文件附加,点击查看教程。如果失败的情况下可以参考以下方法。
方法一:Navicat Premium软件方式导入。
Navicat Premium是一款功能强大的sql连接工具,支持连接mysql、sqlserver、sqlite等众多数据库。本文不另外提供下载地址,需要用户自行到互联网下载。
1、打开软件,点击连接,选择sql server 。
添加上新旧服务器的连接信息,连接名可以任意起名,点击确认添加。
为了区分,我们分别取名“新数据库”、“旧数据库”。
2、数据导出。
直接双击“旧数据库”就可以连接上数据库,依次双击展开,一般表都是在dbo下,可以看到数据库表。
右键dbo--转储sql文件--结构和数据 选择目录保存,等待执行完成,看到Finished Successfully就是表示成功完成。
3、数据导入
双击连接新服务器,双击数据库打开,然后右键数据库--运行sql文件
选择刚才导出的sql文件,然后开始执行。
导入完成以后检查下数据库表和视图是否正常。
如果有报错,可以根据报错查看处理,或者直接参考下面方法二尝试。
方法二:sqlserver导入导出功能。(视图不能很好的迁移过去,有视图用方法一)
条件:本机安装了sqlserver管理器,有sqlserver管理权限。
1、登录原数据库管理,右键要恢复的数据库--任务--导出数据。
2、填写好本地数据库登陆信息,选择windows身份验证。如果是其他地方的数据库,选择sqlserver身份验证,填写好数据库地址和账号密码。
3、点击下一步,填写目标服务器数据库登陆信息,选择sqlserver身份验证。
如下图所示,继续下一步,直到完成。
这样导入完成了。
可能会存在报错,可以根据报错查看处理。例如如果遇到下面的错误
解决方案:
导入导出向导,在“选择源表和源视图”页,在导入导出的表打勾之后点击编辑映像,选择“启用标识列插入"即可。