从高版本的 SQL Server 向低版本的 SQL Server 转移数据

1、在源数据库上右键任务,选择生成脚本…

image

2、在生成脚本的高级选项中,根据数据库的内容,选择相应的选项,主要是红框圈出的部分,最后选择仅架构(若数据库的数据量不大,可以直接导出 架构和数据,在新数据库直接执行 sql 脚本即可。但数据量过大的话,数据的 sql 脚本会很大,很难执行,所以先仅导出架构)就可以了。

image

3、如果数据库中有外键关系的话,需要将导出的脚本拆分为两部分,找到导出脚本中的生成外键的第一句 sql ,以上则为建表语句,是立即要执行的,以下则是约束等其它部分,在最后导入数据完成后再进行执行。

4、在新的数据库中执行,即可得到有架构但没有数据的新库。

5、在新的数据库上右键任务,选择导入数据…

image

6、在向导中分别连接源数据库和目标数据库,数据源这里选择的是 SQL Server Native Client,其它应该也可用。

7、在设置表映射时,如果表中有自增字段,记得在选项中勾选启用标识插入。

8、最后执行数据导入即可。如果有错误可根据提示进行修改。

9、最后执行刚刚导出脚本的后半部分,将数据库的外键等其它配置好,就完成了数据库的转移。

 

总结整个操作主要包含以下四步:

【导出脚本】->【执行非表约束部分脚本】->【导入数据】->【执行表约束部分脚本】

为什么不直接使用导入数据功能呢,因为导入数据功能虽然也能帮助创建表,但真的是只导入数据,表的其它约束和存储过程等都不会导入过来,是不完整的,所以需要通过生成执行脚本来先后生成数据库!

posted @   不是豆豆  阅读(1356)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
历史上的今天:
2017-12-16 将视频转换为 HLS(HTTP Live Streaming) 协议格式文件
友情链接:迷途


点击右上角即可分享
微信分享提示