银河麒麟服务器操作系统V10SP2离线部署SQL Server 2022全流程实战
1. 环境准备与注意事项在国产化信创环境中部署SQL Server 2022首先要确保硬件兼容性。银河麒麟V10SP2对x86_64架构的支持较为完善建议服务器配置至少4核CPU、16GB内存和100GB存储空间。我曾在一台国产飞腾芯片的服务器上测试时发现部分依赖库需要额外处理因此x86平台是更稳妥的选择。离线环境的核心痛点在于依赖包管理。实际操作中遇到过两种典型问题一是依赖树断裂导致安装失败二是不同版本库冲突。建议提前准备以下基础依赖包glibc-2.28以上版本openssl-1.1.1libstdc-8.3.0重要提示所有操作需使用root账户执行普通用户即使sudo也可能因权限不足导致配置失败2. 安装包获取与传输2.1 联网环境准备包在有外网的临时机器上执行mkdir -p /opt/mssql-offline cd /opt/mssql-offline # 添加微软官方仓库 cat /etc/yum.repos.d/mssql-server.repo EOF [mssql-server] nameSQL Server for RHEL8 baseurlhttps://packages.microsoft.com/rhel/8/mssql-server-2022 enabled1 gpgcheck1 gpgkeyhttps://packages.microsoft.com/keys/microsoft.asc EOF # 下载主包及依赖实测需要约1.2GB空间 yum install --downloadonly --downloaddir. mssql-server mssql-tools unixODBC-devel2.2 离线包完整性校验传输到内网前务必检查# 验证关键文件 ls -lh mssql-server-*.rpm mssql-tools-*.rpm unixODBC-*.rpm # 生成校验文件方便内网验证 md5sum *.rpm packages.md5推荐使用rsync或SFTP传输大文件时比SCP更稳定。遇到过因网络中断导致传输失败的情况可以这样续传rsync -Pav /opt/mssql-offline/ root内网IP:/opt/mssql-offline/3. 离线安装实战步骤3.1 基础依赖安装cd /opt/mssql-offline # 先安装基础依赖注意顺序 rpm -ivh libsss_nss_idmap-*.rpm libsss_idmap-*.rpm rpm -ivh unixODBC-*.rpm unixODBC-devel-*.rpm # 批量安装剩余包忽略已安装的依赖 rpm -ivh --nodeps *.rpm3.2 数据库初始化/opt/mssql/bin/mssql-conf setup这时会交互式提示选择版本免费版输入2/3付费版需密钥设置SA密码需包含大小写数字符号选择语言中文简体输入10踩坑记录如果看到The password does not meet SQL Server password policy错误可能是密码强度不够。建议使用类似Kylin2024这样的组合。3.3 服务管理# 启动服务 systemctl start mssql-server # 设置开机自启 systemctl enable mssql-server # 检查状态看到active才算成功 systemctl status mssql-server -l4. 配置与验证4.1 环境变量配置# 永久添加工具路径 cat /etc/profile EOF export PATH$PATH:/opt/mssql-tools/bin EOF source /etc/profile4.2 基础连接测试# 本地连接测试 sqlcmd -S localhost -U SA -P 你的密码 -Q SELECT VERSION # 预期输出应包含类似 # Microsoft SQL Server 2022 (RTM) - 16.0.1000.64.3 防火墙配置# 开放默认端口 firewall-cmd --permanent --add-port1433/tcp firewall-cmd --reload # 验证端口监听 ss -tulnp | grep 14335. 高级配置技巧5.1 数据目录迁移默认数据存储在/var/opt/mssql如需更改mkdir /data/mssql chown mssql:mssql /data/mssql /opt/mssql/bin/mssql-conf set filelocation.defaultdatadir /data/mssql systemctl restart mssql-server5.2 内存限制调整对于小内存服务器# 限制最大内存为8GB /opt/mssql/bin/mssql-conf set memory.memorylimitmb 81926. 卸载与清理完整卸载流程# 停止服务 systemctl stop mssql-server # 移除软件包 rpm -e mssql-server mssql-tools unixODBC-devel # 彻底清理数据 rm -rf /var/opt/mssql /opt/mssql /opt/mssql-tools7. 排错指南常见问题1安装时提示libatomic.so.1缺失解决方法# 从安装镜像中找到libatomic包 rpm -ivh libatomic-*.rpm常见问题2远程连接超时 检查步骤确认防火墙规则检查SQL Server是否监听外网IP/opt/mssql/bin/mssql-conf set network.ipaddress 0.0.0.0最后提醒生产环境建议定期备份/var/opt/mssql目录。曾遇到过因磁盘满导致数据库损坏的情况合理的监控策略能避免这类问题。