sqlserver 高版本数据库如何将关系图迁移到低版本?

2023-05-19 15:04:59 +08:00
 andyskaura

在设计数据库时是连接的本地数据库( docker latest 版本,也就是最高版本),花了大量精力设计完后往云端迁移,迁移方式是使用数据库完整备份,错误提示如下:

System.Data.SqlClient.SqlError: 该数据库是在运行版本 16.00.4035 的服务器上备份的。该版本与此服务器(运行版本 13.00.1601)不兼容。请在支持该备份的服务器上还原该数据库,或者使用与此服务器兼容的备份。 (Microsoft.SqlServer.SmoExtended)

用脚本可以将表还原,但是关系图就丢了,设计里面关系图非常重要,不能丢。云端的数据库也不方便升级。
我还有什么方案能补救吗?

944 次点击
所在节点    程序员
6 条回复
RockShake
2023-05-19 15:31:09 +08:00
ER 图不是可以根据现有的表结构自动生成的么,你只要保证你的表 /存储过程 /视图都正常还原过去,再手动用 Diagram Tools 生成。
andyskaura
2023-05-19 15:34:06 +08:00
@RockShake 目前就是这种方式,但工作量也很大,很多注释排版等
opengps
2023-05-19 15:39:35 +08:00
关系图需要在服务器上看嘛?对于生产环境,从来都是求稳不求新,所以只要数据和结构都没问题,那就可以不需要这个支持操作,相对于开发人员求新来说,并没有太直接的冲突。项目应当从尽可能从开始开发的时候就统一要求版本,对于现在已经出现了不一致的问题,则考虑是否有必要进行降级。
andyskaura
2023-05-19 15:47:53 +08:00
@opengps 的确 吃一堑长一智,以后一定会特别注意版本问题
RockShake
2023-05-19 21:56:04 +08:00
@andyskaura

https://endoflife.date/mssqlserver

实际上你用的 2019 从状态上来说是目前 Active Support 的版本,但是生产环境中绝大多数还是 2016 甚至 2012 版本,这个需要与 Infrustructure 组项目启动就需要 Align 好,你的 Dev & Test 环境需要与 Prod 环境一致。
huzhizhao
2023-05-20 00:53:38 +08:00
属实是蛋疼了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/941272

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX