SQL Server 到 KingbaseES V9R4C12 的零改造迁移实战
过去十年,我们团队的核心业务一直跑在 SQL Server 2016/2019 双节点 AlwaysOn 集群上。随着信创节奏加快,继续留在 Windows + SQL Server 技术栈不仅面临合规风险,License 费用也逐年攀升。经过多轮 PoC,我们把目光锁定在 KingbaseES V9R4C12(SQL Server 兼容版)。本文记录了一次从下载到上线的完整旅程:部署安装、兼容性验证、性能对比、踩坑与填坑以及上线割接方案。
一、Windows 与 Linux 安装部署
1. 下载与安装
金仓官网提供了 Linux x86_64 一键 tar 包与 Windows GUI 安装向导。
Windows 环境
打开官网地址筛选 V9R4C12(SQLServer 兼容版),选择 X64_Windows 安装包。双击运行后进入安装向导,建议新手选择完全安装。设置安装路径时注意磁盘空间,默认端口号为 54321,用户名 system,需提前规划好密码策略。完成初始化后即可启动服务。
Linux 环境
官方提供 tar 包解压方式。通过 FTP 上传至服务器后执行以下操作:
# 1. 创建 kingbase 用户
useradd kingbase && echo 'kingbase ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
# 2. 解压并授权
tar -xzf kingbasees_v9r4c12_linux_x64.tar.gz -C /opt
chown -R kingbase:kingbase /opt/kingbase
# 3. 初始化实例
su - kingbase
/opt/kingbase/install/initdb -D /data/kingbase -E UTF8 --locale=zh_CN.UTF-8
/opt/kingbase/install/kingbase -D /data/kingbase > kingbase.log 2>&1 &
2. 开发工具 KStudio
安装完成后启动 KStudio 连接数据库。新建连接时输入刚才设置的密码,测试连通性无误后即可使用。
支持标准 CRUD 操作,例如创建兼容库:
CREATE DATABASE [xiaoxiang] WITH OWNER = [system] ENCODING 'UTF8' TEMPLATE [template1];
ALTER DATABASE [xiaoxiang] COLLATE Chinese_PRC_CI_AI;
建表示例:
CREATE TABLE [public].[title] (
[id] integer IDENTITY(1, 1) NOT NULL,
[title] varchar(128),
[description] varchar(512)
);


