SSMS和SQLServer数据库的版本冲突
1、问题描述&解决方法
出现问题原因:
出现上面这个问题“不支持该后端版本设计数据库关系图或表”的提示,通常都是SQL Server Management Studio(SSMS)版本过低或与SQLServer数据库版本不匹配所致。
SSMS是一个管理和开发SQLServer数据库的工具,其版本与SQL Server数据库版本是密切相关的。如果我们使用较低版本的SSMS去连接到较新版本的SQL Server数据库,就会出现不支持某些功能的情况。
当然,我们是可以以高版本操作低版本的SQL Server数据库的,这就是所谓的高版本向下兼容。
如上图,如果使用较旧版本的 SSMS 设计表 时使用了较新版本的 SQL Server 数据库特有的数据类型、约束、索引等功能,可能就会出现“不支持该后端版本设计数据库关系图或表”的提示。
解决这个问题有如下几种方法:
-
可以将数据库版本降低到和SSMS版本匹配的级别。在 SQL Server Management Studio 中,右键单击数据库,选择“属性”,在“选项”页面中找到“兼容性级别”选项,将其设置为与 SSMS 版本匹配的级别。
-
手动创建表。可以尝试使用SQL手动创建表,使用较旧版本的数据类型、约束、索引等功能,以确保与 SSMS 版本兼容。
需要注意的是,不可以手动操作SSMS来创建表,只能通过sql语句创建表。
缺陷是,新版本数据库和旧版本的SSMS在某些方面的处理有些冲突,导致数据存储出问题。(低版本nvarchar和高版本sqlserver的nvarchar)
如下图:
Name字段的值为
??
。在Linux中的SQL Server(2017版本)的数据也是如此:所以,处于低版本的SSMS最好的方式还是提升版本,或者将对应数据库进行降级(可以降级的情况下)。否则,安装最新版本的SSMS。
-
安装最新版本的SSMS。
2、安装新版本的SSMS
官网:https://learn.microsoft.com/zh-cn/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server-ver16
直接点击下载链接,然后在安装的时候选择安装路径即可。
SSMS和Visual Studio是一样的,和其他版本的相互独立,可以有低版本的SSMS,也可以使用高版本的SSMS。一些配置文件在使用的时候会提醒你是否导入,不导入则使用当前SSMS最新的。例如,用户配置文件。