暂无图片
暂无图片
2
暂无图片
暂无图片
暂无图片

SQL Server 兼容版安装及测试【金仓数据库产品体验官】

原创 virvle 2025-08-07
433

金仓数据库sqlserver兼容版本,要问兼容到哪个版本呢?当前是SQL Server 2016版,

版本更新方面:

该版本新增了对SQLServer若干系统视图和内置函数的支持,支持ICU库并对其进行了优化;支持更多的高级查询功能,包括FOR XML子句、PIVOT行列转换操作、GROUP BY子句中基于不同数据类型进行分组、DINSTICT子句与ORDER BY联合中列别名的使用等;新增DML操作触发更新统计信息功能,提升查询性能与增强系统的稳定性;新增临时表优化功能,提升了函数执行效率。在客户端编程接口方面,.Net驱动中新增了对SQL Server 中一些日期函数的支持,加入了更多针对各行业应用场景的定制化功能,助力企业实现平滑迁移和业务高效运行。

1. 实验准备

1.1 确认当前环境的

image.png

1.2 关闭原有集群【谨慎操作】

image.png

1.3 卸载当前集群环境

/yk/data/Kingbase/cluster/kingbase/bin

1.4 重新挂载安装用的ISO

[root@dba236 data]# umount kbinstall [root@dba236 data]# mount KingbaseES_V009R004C012B0006_Lin64_install.iso kbinstall/ mount: /dev/loop0 is write-protected, mounting read-only

1.5 进入挂载的ISO目录,复制配置到其他文件夹(由于当前挂载只读)并修改执行安装

配置,重点配置路径及账密

USER_INSTALL_DIR=/yk/data/Kingbase/kms

USER_SELECTED_DATA_FOLDER=/yk/data/Kingbase/kms/data

安装如下,静默安装,输出日志很简洁

./sys_ctl -w start -D /yk/data/Kingbase/kms/data -l /yk/data/Kingbase/kms/data/sys_log/startup.log Now launch installer... .Complete.

安装完成后,查看安装目录,会看到很多链接文件,这就对了:

1.6 安装完成后,连接到数据库并查看版本,会看到版本比之前要精简多了

[kingbase@dba236 bin]$ ksql -p 54321 -d test -U system Licesen Type: SALES-企业版. Type "help" for help. test=# select version(); version ------------------------- KingbaseES V009R004C012 (1 row)

image.png

image.png

比对之前版本

image.png

1.7 设置快捷登录ksql

cat  ~./bash_profile
alias ks='ksql -p 54321 -d test -U system'
alias kcd='cd /yk/data/Kingbase/kms/Server/bin'

# 立即生效
source ~./bash_profile

PS : 安装具体细节参照之前写的:十分钟内搞定金仓数据库V8静默安装(新手完全上手)
https://bbs.kingbase.com.cn/blogDetail?postsId=9a0cfd3b13dad2b395ee0e2df4a1b3dd

2. 兼容性测试

2.1 top N 验证

创建表并插入数据

CREATE TABLE T2 ( ID INT PRIMARY KEY, NAME NVARCHAR(100), ); test=# INSERT INTO t2 VALUES (1, 'Guangzhou'); INSERT 0 1 test=# INSERT INTO t2 VALUES (2, 'Chendu'); INSERT 0 1 test=# INSERT INTO t2 VALUES (3, 'Beijing'); INSERT 0 1

image.png

(1)语句查询使用top

SELECT TOP 2 ID, Name FROM t2

image.png

(2)存储过程使用top

CREATE PROCEDURE GetTopT2 AS BEGIN SELECT TOP 2 ID, Name FROM t2 END; CALL GetTopT2();

image.png

结果​​:TOP语法在查询和存储过程中均兼容。

2.2 建表与特殊数据类型

测试项:支持ROWVERSION(自增版本戳)、UNIQUEIDENTIFIER(GUID)、最后一个字段逗号兼容。
SQL示例:

CREATE TABLE t9 ( ID INT PRIMARY KEY, NAME NVARCHAR(100), GUIDCOL UNIQUEIDENTIFIER, -- 兼容ROWGUIDCOL ROWVER ROWVERSION, -- 每次更新自动递增 );

验证操作:

INSERT INTO t9 (ID, NAME) VALUES (1, 'Vir');
SELECT * FROM t9;  -- 查看自动生成的Guid和ROWVER
UPDATE t9 SET NAME = 'Vir_Updated' WHERE ID=1;
SELECT @@DBTS;  -- 检查ROWVER版本号变化(应递增)

++ 结果: ++
• ROWVERSION在更新后自动递增(如0x0000000000000001 → 0x0000000000000002)。

• 最后一个字段后的逗号无语法报错(兼容)【完美~~】。

image.png

2.3 索引操作​​

​​测试项​​:索引创建、重建、并发查询。
​​(1) 创建索引​​

CREATE INDEX idx_name ON t9 (Name);

​​(2) 重建索引​​

ALTER INDEX idx_name ON t9 REBUILD; ALTER INDEX idx_name REBUILD ;

image.png

3. 遇到问题处理

3.1 缺少依赖导致安装失败

如图告警 ./setup.sh: line 171: fc-cache: command not found

image.png

处理办法: 安装插件

sudo yum install fontconfig -y

image.png

3.2 各种不行,一度以为下错了版本【心都要碎了~~】

image.png

4. 参考文档

安装手册: https://bbs.kingbase.com.cn/docHtml?recId=bf40609a9c064fe3593c2040d4d899c8&url=aHR0cHM6Ly9iYnMua2luZ2Jhc2UuY29tLmNuL2tpbmdiYXNlLWRvYy92OS40LjEyL2luc3RhbGwtdXBkYXRhL2luc3RhbGwtbGludXgvaW5kZXguaHRtbA

最后修改时间:2025-08-25 18:01:26
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论