在设计数据库时是连接的本地数据库( docker latest 版本,也就是最高版本),花了大量精力设计完后往云端迁移,迁移方式是使用数据库完整备份,错误提示如下:
System.Data.SqlClient.SqlError: 该数据库是在运行版本 16.00.4035 的服务器上备份的。该版本与此服务器(运行版本 13.00.1601)不兼容。请在支持该备份的服务器上还原该数据库,或者使用与此服务器兼容的备份。 (Microsoft.SqlServer.SmoExtended)
用脚本可以将表还原,但是关系图就丢了,设计里面关系图非常重要,不能丢。云端的数据库也不方便升级。
我还有什么方案能补救吗?
1
RockShake 2023-05-19 15:31:09 +08:00
ER 图不是可以根据现有的表结构自动生成的么,你只要保证你的表 /存储过程 /视图都正常还原过去,再手动用 Diagram Tools 生成。
|
2
andyskaura OP @RockShake 目前就是这种方式,但工作量也很大,很多注释排版等
|
3
opengps 2023-05-19 15:39:35 +08:00
关系图需要在服务器上看嘛?对于生产环境,从来都是求稳不求新,所以只要数据和结构都没问题,那就可以不需要这个支持操作,相对于开发人员求新来说,并没有太直接的冲突。项目应当从尽可能从开始开发的时候就统一要求版本,对于现在已经出现了不一致的问题,则考虑是否有必要进行降级。
|
4
andyskaura OP @opengps 的确 吃一堑长一智,以后一定会特别注意版本问题
|
5
RockShake 2023-05-19 21:56:04 +08:00
@andyskaura
https://endoflife.date/mssqlserver 实际上你用的 2019 从状态上来说是目前 Active Support 的版本,但是生产环境中绝大多数还是 2016 甚至 2012 版本,这个需要与 Infrustructure 组项目启动就需要 Align 好,你的 Dev & Test 环境需要与 Prod 环境一致。 |
6
huzhizhao 2023-05-20 00:53:38 +08:00 via iPhone
属实是蛋疼了
|